как создать движение спрайта вверх / вниз с помощью мыши as3 - PullRequest
2 голосов
/ 11 марта 2010

Мне нужно перемещать спрайт только вертикально при движении мыши. Как мне реализовать это с as3?

Спасибо

Ответы [ 3 ]

1 голос
/ 12 марта 2010

Flash версия

var s:Sprite = new Sprite();
s.x = 20;
s.graphics.beginFill(0xFF0000);
s.graphics.drawRect(0,0,20,20);
addChild(s);

stage.addEventListener(MouseEvent.MOUSE_MOVE,moveSprite);

function moveSprite(e:MouseEvent):void
{
    s.y = e.localY;
}

Flex версия

<mx:Canvas width="100" height="100">
            <mx:mouseMove>
                    <![CDATA[
                        s.y = event.localY;
                    ]]>
                </mx:mouseMove>
            <mx:Canvas id="s" backgroundColor="#ff0000" width="20" height="20"/>
        </mx:Canvas>

Каждый из них вы можете вставить и делать то, что вы сказали. это создаст красное поле размером 20x20, которое будет вертикально таким же, как мышь, но закреплено горизонтально. Гибкая версия, в которой ваша мышь должна находиться внутри содержащей Canvas.

1 голос
/ 11 марта 2010
addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent):void{
    mySprite.y += amount;
}
0 голосов
/ 11 марта 2010

Хорошо, перетаскивание немного сложнее.Вы должны определить прямоугольник для границ перетаскивания.Если вы хотите просто перетащить вдоль одной оси, тогда вы сделаете так, чтобы прямоугольник имел ширину 0. В этом примере я ограничил количество прокрутки и до разных чисел, которые можно изменить ниже.

...