首先,我很遗憾地提出这样一个愚蠢的问题,但我在任何地方都没有得到任何答案,而且我是a.s.3的新人。
我希望我的角色移动所以我有3个动画mc帧。 1待机模式2向前走3步左转。所以我做了完美的编码工作,除了它没有移动(我的意思是它没有改变它的每帧7个位置)
这是我的代码
stop();
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
kims.addEventListener(Event.ENTER_FRAME, moveKim);
stage.addEventListener(KeyboardEvent.KEY_DOWN, SetKeyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, UnsetKeyPressed);
function moveKim(event:Event){
if (leftPressed)
{
kims.x -= 7;
}
if (rightPressed)
{
kims.x += 7;
}
}
function SetKeyPressed(event:KeyboardEvent):void{
switch (event.keyCode)
{
case Keyboard.LEFT:
{
leftPressed = true;
gotoAndStop(3);
break;
}
case Keyboard.RIGHT:
{
rightPressed = true;
gotoAndStop(2);
break;
}
}
}
function UnsetKeyPressed(event:KeyboardEvent):void {
switch (event.keyCode)
{
case Keyboard.LEFT:
{
leftPressed = false;
gotoAndStop(1);
break;
}
case Keyboard.RIGHT:
{
rightPressed = false;
gotoAndStop(1);
break;
}
}
}
答案 0 :(得分:0)
因为代码中未触发if
事件。 enterFrame
表示您的movieClip转到第3帧,然后停止播放。
你把一个动画放在一帧中?它只是一张照片吗?您可以将movieClip用作步行动画。代码如下:
GotoAndStop(3)
}
function SetKeyPressed(event:KeyboardEvent):void {
function moveKim(event:Event){
if (leftPressed)
{
kims.x -= 7;
}
if (rightPressed)
{
kims.x += 7;
}
}
如果您还可以使用计时器来控制动画。 您可以在Essential ActionScript 3.0的第24章中了解这一点。