在阅读Flash教程后,我仍然不确定程序流程究竟是什么:
具体来说,我有一个flash游戏的演示(有点超级马里奥风格)。在其中我有两种类型的武器 - 简单的火和大火球。我查看了代码以便更好地学习闪存[我很新 - 从本周一周一开始]。
我看到该程序有一个变量,可以跟踪我在每个武器中留下的使用次数。我试图查看使用此变量的所有地方,但我找不到它在屏幕上影响绘图的位置。
我甚至尝试删除变量声明然后测试它 - 所以我可能会找到对变量的所有引用 - 顺便说一下找到变量/方法/类的所有引用的方式[我正在使用ADOBE FLASH CS5 0.5] 此外,我尝试将变量起始值更改为“12”,我注意到当我测试游戏时,武器确实有12次使用。
所以我的问题: 这个变量似乎在某种程度上影响了绘图。然而,我不知道它是如何做到的,因为我发现使用这个变量的所有代码都与绘图无关。这就是逻辑,就像
一样if(var <= 0){
var--;
} else{
return false;
}
这种影响来自哪里?
非常感谢。
答案 0 :(得分:1)
Flash可以包含各种不同的代码。
根据教程,他们会将代码放在任何一个和所有这些代码上,这使得很难遵循。通常,最好将代码放在外部类中,并且只在绝对必要时才放在框架上。事实上,AS3不允许您直接将代码放在影片剪辑上,以避免出现问题。
我将假设您正在使用AS2,因为您没有找到代码,而您说您删除了变量的声明并且一切仍然有效。 (AS2让你逍遥法外)
如果您解锁任何已锁定的图层并全选,您可能会发现几乎看不见的电影只显示为点。许多糟糕的教程将代码放在这样的隐形电影上以运行所有内容。取消选择所有内容,选择该影片剪辑,然后按[F9]以拉出操作窗口以查看代码。
另一个选择是代码只是在某个地方的movieclip上。开始点击它们并查看操作窗口以查看是否有任何内容。
无论听起来是什么,你都在使用一个糟糕的例子。搜索AS3教程,因为这是一个更优化的actionscript版本,它可以防止你所看到的很多不良实践。
An AS3 tutorial I just came accross
[编辑]
为了进一步回答您的问题,程序流程发生在Flash VM首先触发onEnterFrame事件,任何movieclip都可以监听。 (在AS2中,它会在每个动画片段上调用onEnterFrame。这被放弃了以支持该事件,因此您的课程不必在每个帧上更新)一旦发生这种情况,VM就会将所有内容绘制到屏幕上。有关更完整的概述,我发现了website
您的问题听起来像是外部类中包含的所有内容。这是一个example