Перетаскивание спрайта оставляет следы - PullRequest
0 голосов
/ 28 августа 2011

У меня есть простой класс AS:

package Bubbles 
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.display.LineScaleMode;
    import flash.display.CapsStyle;
    import flash.display.JointStyle;

    public class Test extends Sprite
    {
        public function Test()
        {
            var g = graphics;

            g.lineStyle(12, 0xEEEEFF, 1.0, true, LineScaleMode.NONE, CapsStyle.NONE, JointStyle.MITER);
            g.drawRoundRect(0, 0, 60, 60, 10, 10);

            addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
            addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
        }

        private function onMouseDown(e:MouseEvent)
        {
            startDrag();
        }

        private function onMouseUp(e:MouseEvent)
        {
            stopDrag();
        }
    }
}

добавлен, используется в наборе классов в качестве класса stage в обработчике Event.ADDED_TO_STAGE:

            var t = new Test();
            t.x = 20;
            t.y = 20;
            addChild(t);

Теперь, когда я запускаю приложение, обав браузере или во флэш-плеере и начинаю перетаскивать объект, я вижу следы, как на изображении: trails

На сцене только этот зеленый прямоугольник.Если я уберу это, ничего не изменится.Если я изменю толщину линии на 6, тропы не появляются, на 7 и выше они появляются.Вы можете проверить SWF здесь: http://hg.n0rd.com/bubbles.html. Как мне заставить его работать правильно?

Обновление: если я изменю форму прямоугольника на что-то звездообразное с острыми углами, следы появятся даже при меньших значениях толщины(следы появляются при толщине == 3 или более).

Ответы [ 2 ]

1 голос
/ 28 августа 2011

работает с

graphics.lineStyle (12, 0xEEEEFF, 1.0, true, LineScaleMode.NORMAL, CapsStyle.NONE, JointStyle.MITER);

Я изменил LineScaleMode.NONEв LineScaleMode.NORMAL.

Надеюсь, вам не нужно устанавливать это?

0 голосов
/ 28 августа 2011

Вы не перерисовываете фон при каждом розыгрыше.Из-за этого граница элемента остается нарисованной на фоне, когда она не перезаписывается при следующем рисовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...