Actionscript 3 如何使用一次按入动作脚本3播放完整动画
首先,很抱歉问这样一个愚蠢的问题。我是as3的新手。我正在做一个英雄般的动作,带着钥匙。我有3个动画。1待机模式2向前走,3向后走。到目前为止效果不错,但我在跳跃时遇到了问题。玩家必须按住键才能跳跃。我不想让运动员拿着钥匙进行跳跃。走路可以,但其他动作不行 所以我想用一个按键来播放完整的动画,老实说,我不知道我必须使用哪个功能,或者怎么做 这是我的密码Actionscript 3 如何使用一次按入动作脚本3播放完整动画,actionscript-3,flash,Actionscript 3,Flash,首先,很抱歉问这样一个愚蠢的问题。我是as3的新手。我正在做一个英雄般的动作,带着钥匙。我有3个动画。1待机模式2向前走,3向后走。到目前为止效果不错,但我在跳跃时遇到了问题。玩家必须按住键才能跳跃。我不想让运动员拿着钥匙进行跳跃。走路可以,但其他动作不行 所以我想用一个按键来播放完整的动画,老实说,我不知道我必须使用哪个功能,或者怎么做 这是我的密码 import flash.display.Stage; import flash.events.KeyboardEvent; import fl
import flash.display.Stage;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.display.MovieClip;
import flash.events.Event;
kim.gotoAndStop("kim Stand");
var dPressed:Boolean = false;
var aPressed:Boolean = false;
var wPressed:Boolean = false;
stage.addEventListener(KeyboardEvent.KEY_DOWN , keyDownHandaler);
stage.addEventListener(KeyboardEvent.KEY_UP , KeyUpHandaler);
stage.addEventListener(Event.ENTER_FRAME , gameLoop);
function keyDownHandaler(Devent:KeyboardEvent):void
{
if (Devent.keyCode == Keyboard.D)
{
dPressed = true;
}
else if (Devent.keyCode == Keyboard.A)
{
aPressed = true;
}
else if (Devent.keyCode == Keyboard.W)
{
wPressed = true;
}
}
function KeyUpHandaler (Uevent:KeyboardEvent):void
{
if (Uevent.keyCode == Keyboard.D)
{
dPressed = false;
kim.gotoAndStop("kim Stand");
}
else if(Uevent.keyCode == Keyboard.A)
{
aPressed = false;
kim.gotoAndStop("kim Stand");
}
else if(Uevent.keyCode == Keyboard.W)
{
wPressed = false;
kim.gotoAndStop("kim Stand");
}
}
function gameLoop (Gevent:Event):void
{
if (dPressed)
{
kim.x += 5;
kim.gotoAndStop("kim Move Right");
}
else if(aPressed)
{
kim.x -= 5;
kim.gotoAndStop("kim Move Left");
}
else if(wPressed)
{
kim.gotoAndStop("kim Jump");
}
}
因此,假设您在关键帧5和10之间的kim MovieClip中的帧标签“kim Jump”处有一个完整的动画,您可以执行以下操作
// this will check if the jumping animation is already playing if the user press and holds the jump key and disable steerings
var jumping:Boolean;
function gameLoop (Gevent:Event):void
{
if (dPressed)
{
kim.x += 5;
if(!jumping)
kim.gotoAndStop("kim Move Right");
}
else if(aPressed)
{
kim.x -= 5;
if(!jumping)
kim.gotoAndStop("kim Move Left");
}
else if(wPressed)
{
if(!jumping)
kim.gotoAndPlay("kim Jump");
jumping = true;
}
}
在跳跃动画的最后一帧,你需要
_parent.jumping = false;
gotoAndStop("Your label for no animation");
谢谢你的回答,但我在as3中是全新的,我仍然不知道很多函数,家长就是其中之一。所以它有一个错误,比如说访问未定义的属性\u parent。找不到任何解决方案此代码应位于跳跃动画最后一帧的kim MovieClip中。这是一部电影,对吧?然后应该有一个_parent属性,它是对父movieclip的引用