나는 유휴, 걷기, 돌리기, 점프, 공격 및 춤과 같은 여러 가지 애니메이션이 포함 된 캐릭터 (myHero)가 있습니다. 지금 코드를 사용하면 전체 애니메이션이 작동하도록 버튼을 계속 눌러야합니다 (걷는 동안 괜찮 았지만 예를 들어 공격하려고 할 때 버튼을 한 번 누르고 전체 애니메이션도 한 번 재생 될 것입니다.) 지금부터 애니메이션을 재생하려면 버튼을 계속 눌러야합니다. 내가 키를 눌러하는 것을 계속해야이와ActionScript3.0 버튼을 누른 후 문자 애니메이션 중지
var keyRight:Boolean=false;
var keyLeft:Boolean=false;
var keyUp:Boolean=false;
var keyAttack:Boolean=false;
var keyDance:Boolean=false;
myHero.gotoAndStop(1);//the idle animation
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown_Handler)
function keyDown_Handler(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.X)
{
keyAttack=true;
}
//theres more code for the other keys all similar to this
}
stage.addEventListener(KeyboardEvent.KEY_UP, keyUp_Handler)
function keyUp_Handler(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.X)
{
myHero.gotoAndStop(1);//the idle animation
keyAttack=false;
}
//theres more code for the other keys all similar to this
}
: 이 내 코드입니다.
if(event.keyCode == Keyboard.X)
{
if(myHero.Attack.currentFrame==8)//the animation is 8 frames long
{
myHero.gotoAndStop(1);//the idle animation
keyAttack=false;
}
}
을하지만 다른 키와 취소하지 않는 한 나는 키를 누르면 이제 애니메이션이 영원히 루프 : 그래서 keyDown_Hander에이 추가로했습니다. 또한 stop()을 추가하려고 시도했습니다. 애니메이션의 마지막 프레임으로 이동하지만 마지막 프레임에서 멈추고 원하는대로 유휴 상태로 돌아 가지 않습니다.
어떤 도움이 필요합니까?
실제로 공격 애니메이션을 시작하는 방법이 명확하지 않습니다. (X를 누르고 아이들 프레임으로 가서'keyAttack'을'false '로 설정하십시오). 당신의 영웅의 구조를 분명히 해주세요. 당신의 아이 MovieClip이 Attack이라고 불리는 것 같습니다. – BadFeelingAboutThis
myHero에는 다른 애니메이션이 포함 된 6 개의 서로 다른 키 프레임이 있습니다. 그래서 각각의 키 프레임은 다른 버튼으로 트리거됩니다. 나는 열쇠가 눌려 졌을 때 그것이 진실이고 그것이 눌려지지 않았을 때 그것이 거짓이되도록 불리언을 설정했습니다. – DJmangoLORD
그는 애니메이션 상태를 처리하기 위해 무언가를 원한다고 생각합니다. 공격 어택 애니메이션 -> 어택 애니메이션이 끝났을 때 -> 유휴 재생 – Nambew