0

我知道我知道。动作脚本 3. OOP。永远不要使用时间线代码。但实际上有时可以使用时间线代码。作为一名学习了 mvc 和 opp 原则和智慧的中级程序员,我发誓永远不再使用时间线代码。事实上,我根本没有在 fla 文件的主时间轴中使用它。

然而,在最近与一些铁杆 Flash 动画师合作过一款游戏后,我想说如果使用得当,在动画电影剪辑的时间轴中编码是可以接受的。一件显而易见的事情是 stop(); 命令。我实际上经常使用它。我从不使用 gotoAndStop() 只是因为在我的脑海中思考“去玩”让我感到头晕目眩。无论如何,不​​太常见的放入帧的东西是 gotoAndPlay("anim_begin") 使某些东西循环。至少在我的经验中,as3 摇摇晃晃的“addFrameScript”方法似乎变得不可靠,所以我总是在框架中添加这一行来触发代码中的事情:

dispatchEvent(new Event("THING_THAT_HAPPENED", true));

无论如何,现在我正在制作一个游戏,其中玩家的脚,基本上是一个嵌套的影片剪辑,需要在每一帧中检查它是否与项目代码中 Model.as 类中保存的一组球发生碰撞.

有没有办法让我将模型类中的数据“注入”到影片剪辑的帧中,以便我可以在此处的时间轴中使用该数组?或者,如果您能想出更好的方法来做到这一点,那也值得赞赏。谢谢,吉姆

4

1 回答 1

0

我不确定是否将数据发送到这样的帧脚本,但通常我不会让玩家对象处理自己的碰撞检查。发生碰撞时可能需要发生多种事情(玩家改变动画状态,但球的轨迹也可能改变,得分更新等)。

因此,让控制器进行碰撞测试通常效果更好。它可以具有对球阵列和足部影片剪辑的引用。

这有帮助吗?

于 2013-09-05T17:25:00.670 回答