您可以将其转换为具有时间线的MovieClip,然后根据需要在Event.ENTER\ FRAME上更新动画。
package
{
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.events.Event;
public class Test extends MovieClip
{
private var sprite:Sprite;
public function Test()
{
sprite = new Sprite();
sprite.graphics.beginFill(0xFF0000, 1);
sprite.graphics.drawRect(0, 0, 20, 20);
sprite.graphics.endFill();
addChild(sprite);
this.stage.addEventListener(KeyboardEvent.KEY_UP,
moveSprite);
this.stage.addEventListener(KeyboardEvent.KEY_DOWN,
moveSprite);
this.stage.addEventListener(Event.ENTER_FRAME,
moveSpriteRight);
}
private function moveSprite(keyEvent:KeyboardEvent):void
{
switch (keyEvent.keyCode)
{
case 37:
sprite.x--
break;
case 38:
sprite.y--;
break;
case 39:
sprite.x++
break;
case 40:
sprite.y++;
break;
default:
break;
}
}
private function moveSpriteRight(e:Event):void
{
sprite.x++;
}
}
}