代码之家  ›  专栏  ›  技术社区  ›  Ozan Deniz

Flash/纯AS3预加载程序在游戏100%加载后出现

  •  1
  • Ozan Deniz  · 技术社区  · 11 年前

    首先,我想告诉大家,我知道有数百个类似的问题,但大多数都是针对“舞台开发”的项目/游戏。

    我使用纯as3方法开发游戏。我不使用* 主时间线和我的项目只有1帧 *.

    在主类的构造函数中,我只向阶段添加预加载程序。

    但我的预加载程序仍然只有在游戏完全加载时才能看到。

    我的问题很简单: “为什么?” “我该怎么解决?”

    -当我试图在第1帧上“取消选中”导出as3时,flash给出了错误。(因为我的一些类是在主类上导入的。)

    -即使我创建了第二帧,并将游戏中除预加载程序外的所有内容都放进去,问题仍然没有解决。

    非常感谢您花时间阅读并帮助我。

    -奥赞

    1 回复  |  直到 11 年前
        1
  •  2
  •   Vesper    11 年前

    要制作预加载程序,您需要两个SWF或至少两个帧。即使FlashDevelop也可以使用两个框架,为此指令 [frame factoryClass="ClassName"] 之前在主AS文件中使用 public class Main 。这是Flash播放器的核心限制,即它首先加载第一帧,然后才能显示该帧。既然你说你只有一帧,那么你的游戏必须100%(1/1帧)加载才能看到一个东西。

    还有更多——如果您通过类名引用第1帧上的某个类,那么该类及其所有依赖项都嵌入在同一帧(第一帧)中,因此您又被搞砸了。要绕过此步骤,请执行步骤10至14 this instruction 要将类的帧设置为2(在执行指令时将10替换为2),请清除除预加载程序之外的所有类的“export in the first frame”,并将游戏主类的实例添加到关键帧2。然后在预加载程序代码中执行适当的清理 gotoAndStop(2) .