当我使用e.currentTarget移动函数中的对象时没有任何反应

时间:2010-02-20 05:11:56

标签: flash

包{     import flash.display。;     import flash.events。;     import 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 :(得分:0)

我刚尝试了代码,似乎工作正常。唯一的问题是recA并没有在舞台上开始显现。尝试更改:

  

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

为:

  

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

这可能是也可能不是你想要的,但它会让黄色框显示出来。其中一些取决于您使用swf部署的维度(即最终阶段大小),因此如果仍然不起作用,请尝试将recA.x和recA.y设置为0。