Когда я использую e.currentTarget для перемещения объекта в функции, ничего не происходит - PullRequest
0 голосов
/ 20 февраля 2010

пакет { импорт flash.display. ; импорт flash.events. ; импорт flash.net. *;

public class exp1 extends Sprite
{
    var directionX:Number = 5;
    var directionY:Number = Math.random()*5;
    public function exp1()
    {
        var loader:Loader = new Loader();
        var request = new URLRequest("monkeyproj-1.jpg");

        loader.load(request);
        addChild(loader);

          loader.x = 100;
          loader.scaleY = 0.5;



        var recA:Sprite = new Sprite;

        recA.graphics.beginFill(0xFFF010); 
        recA.graphics.lineStyle(1); 
        recA.graphics.drawRect(40, 280, 50, 20); 
        addChild(recA); 

        recA.x = 300; 
        recA.y = 300; 
        recA.scaleX = 2; 
        recA.scaleY = 2; 
        recA.addEventListener(Event.ENTER_FRAME, moveRecA); 

    }
     function moveRecA(e:Event){

        e.currentTarget.y +=directionY;
        e.currentTarget.x +=directionX;

     }

     }
}

1 Ответ

0 голосов
/ 20 февраля 2010

Я только что попробовал код, и он, кажется, работает нормально. Единственная проблема заключается в том, что recA не начинался как видимый на сцене. Попробуйте изменить:

recA.graphics.drawRect (40, 280, 50, 20);

до:

recA.graphics.drawRect (0, 0, 50, 20);

Это может или не может быть тем, что вы хотите, но это заставляет желтую коробку появиться. Отчасти это зависит от того, с какими измерениями вы развертываете swf (то есть размер конечного этапа), поэтому, если это все еще не работает, попробуйте также установить для recA.x и recA.y значение 0.

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