首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么一次只有一个actionscript工作?

为什么一次只有一个actionscript工作?
EN

Stack Overflow用户
提问于 2013-04-15 05:43:48
回答 1查看 77关注 0票数 0

我是Flash的新手,正在尝试建立一个非常简单的游戏,包括使用箭头键移动一个电影剪辑和避免其他三个电影剪辑。在第一帧上也有一个开始按钮。只要其他4个actionscript被注释掉,每个单独的actionscript就可以单独工作。但是,当我尝试使用多个actionscript时,它们都不起作用。我将每个actionscript放在它自己的层中。

我确信我明显遗漏了一些东西,但是多个at脚本如何同时工作呢?任何感谢都将不胜感激

下面是代码

代码语言:javascript
复制
/*Start*/
import flash.events.MouseEvent;

stop();
btn1.addEventListener(MouseEvent.CLICK,buttonClickHandler);
function buttonClickHandler(event:MouseEvent):void{
    gotoAndPlay(2);
}




/*Drive*/
function hearKey(yourEvent:KeyboardEvent):void{
if (yourEvent.keyCode==Keyboard.RIGHT){
LionOne_mc.x +=  8;
};
if (yourEvent.keyCode==Keyboard.LEFT){
LionOne_mc.x -=  8;
};
if (yourEvent.keyCode==Keyboard.UP){
LionOne_mc.y -=  8;
};
if (yourEvent.keyCode==Keyboard.DOWN){
LionOne_mc.y +=  8;
};
};
stage.addEventListener(KeyboardEvent.KEY_DOWN,hearKey);



/*Colision*/
kangaTwo.addEventListener(Event.ENTER_FRAME,LionHit2);
function LionHit2(event:Event):void {
if (kangaTwo.hitTestObject(LionOne_mc)) {
tackle_mc.visible = true;
} else {
tackle_mc.visible = false;
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-15 08:27:47

您可以在一个帧中跨多个图层使用脚本。这是没有问题的。它们只会从最顶层运行到底部。

虽然这在技术上是可行的,但我不建议这样做。时间线代码即使在最好的情况下也是杂乱无章的,所以最好将它们都放在一个层中。这也是最好的做法是这个层在顶部,上面没有视觉元素,并将该层命名为"Actions“。

如果您正在调用gotoAndStop(2);,那么第一帧上的所有代码都将停止运行。

如果有机会,您一定应该考虑使用外部ActionScript类,而不是编写时间线代码。这里有一个很棒的教程:active.tutsplus.com - AS3 101: OOP Introduction – Basix

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16004692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档