2013-12-14 81 views
0

您好我已经使用本网站的教程制作了基于平铺的游戏http://www.wildbunny.co.uk/blog/2011...m-game-part-1/我的游戏已完成,但我想为其添加预加载器。如何使用flashDevelop将预加载器添加到我的游戏中?

有希望更好理解的小背景。

FlashDevelop是我所有的as3文件和类,我也可以在这里测试我的游戏,我工作的很好。

Flash CS6是其中只有一个场景“场景1”的场景,该帧包含我所有基于图块的图片(动画片段)和正方形动画,如果我双击一个movieClip(例如“球员“)它会进入内部,我有很多帧(跳跃,跑步等)。

我无法从这里测试我的游戏,它显示错误(场景是NAN)。我认为这是正常的不确定 - 无论如何,也许脱离主题。

我已经在网上找到适合我的情况的预加载程序教程,但找不到任何与flashDevelop和AS3一起使用flash。

回答

0

您将创建一个全新的项目“Actionscript 3 with preloader”,FD将生成一个预加载器类* .as文件和一个包含[frame]指令的主类文件。将preloader * .as文件复制到当前项目中,将指令从新项目的Main.as复制到项目的Main.as中,如果需要在两个位置更改包名称(在预加载器的getDefinitionByName()调用中和在指令中 - 全限定类需要的名字),将你想要的视觉效果添加到你的预加载器类中,然后设置好。

在我的情况下,该指令是这样的:

[Frame(factoryClass="Geologist.Preloader")] 

该软件包是Geologist和预加载的startup()功能是这样的:

private function startup():void 
{ 
    var mainClass:Class = getDefinitionByName("Geologist.Main") as Class; 
    var theStage:Stage = this.stage; 
    theStage.addChild(new mainClass() as DisplayObject); 
    theStage.removeChild(this); 
} 
+0

我想你说的话,但我得到一个错误,说我的main.as中的一些变量是空的。我会继续尝试并让你知道它是如何发生的。 – user3102529

+0

当然,舞台将是空的。通过主类中的'ADDED_TO_STAGE'事件监听器来解决这个问题。在监听器中移动构造函数代码,并将if(stage)init(null); else addEventListener(Event.ADDED_TO_STAGE,init);'作为构造函数的唯一代码。 – Vesper

+0

谢谢我现在没有任何错误,屏幕变成蓝色半秒钟巫婆是我的舞台背景然后游戏出现,现在只需要编码我的加载栏我认为。当你在第一个关于添加视觉效果的回答中说过你的意思是加载栏和你在加载时看到了什么,或者我是否必须添加所有的游戏图像才能正确加载? – user3102529