首先,我想告诉我,我知道有数百个类似的问题,但其中大多数都是为舞台开发而制作的项目/游戏"。
我使用纯as3方法开发游戏。我没有使用* 主时间轴,我的项目只有1帧 *。
在我的主要类的构造函数中,我只在舞台上添加预加载器。
但是只有在游戏完全加载时才能看到我的预加载器。
我的问题很简单:"为什么?" 和"我该如何解决这个问题?"
- 当我尝试"取消选中"在第1帧导出as3,flash给出错误。(因为我的一些类是在主类上导入的。)
- 即使我创建第二帧并将游戏的每个内容都放在预加载器之外,问题仍然没有解决。
非常感谢你花时间阅读并帮助我。
-Ozan
答案 0 :(得分:2)
要制作预加载器,您需要两个SWF或至少两个帧。即使FlashDevelop也能够使用两个帧,因此指令[frame factoryClass="ClassName"]
在public class Main
之前的主AS文件中使用。这是Flash播放器的核心限制,也就是说,它首先加载第一帧,然后才能显示该帧。既然你说你只有一个框架,那么你的游戏必须100%(1/1帧)才能看到一个东西。
还有更多 - 如果你通过类名在第1帧引用某个类,那么所有依赖项的类都嵌入在同一个框架中(第一个),所以你再次搞砸了。要绕过这一点,从this instruction执行stepos 10到14以将类的帧设置为2(在执行指令时将2替换为10),清除除预加载器之外的所有类的“在第一帧中导出”,并将游戏主类的实例添加到关键帧2.然后在预加载器代码中执行适当的清理并执行gotoAndStop(2)
。