Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何使用flashDevelop向游戏添加预加载程序?_Actionscript 3_Flash_Flashdevelop_Preloader - Fatal编程技术网

Actionscript 3 如何使用flashDevelop向游戏添加预加载程序?

Actionscript 3 如何使用flashDevelop向游戏添加预加载程序?,actionscript-3,flash,flashdevelop,preloader,Actionscript 3,Flash,Flashdevelop,Preloader,您好,我已经做了一个基于瓷砖的游戏使用教程从这个网站我的游戏已经完成,但我想添加一个预加载到它 一点背景知识,希望能更好地理解 FlashDevelop是我所有as3文件和类的所在地,我也可以在这里测试我的游戏,我工作得很好 Flash CS6是我只有一个场景“场景1”,上面有一个帧,这个帧有我所有的基于平铺的图像(movieClip)和正方形的动画,如果我双击一个movieClip(例如“播放器”),它会进入里面,我有很多帧(跳跃、奔跑等) 我无法从这里测试我的游戏,它显示错误(场景为NAN)

您好,我已经做了一个基于瓷砖的游戏使用教程从这个网站我的游戏已经完成,但我想添加一个预加载到它

一点背景知识,希望能更好地理解

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

Flash CS6是我只有一个场景“场景1”,上面有一个帧,这个帧有我所有的基于平铺的图像(movieClip)和正方形的动画,如果我双击一个movieClip(例如“播放器”),它会进入里面,我有很多帧(跳跃、奔跑等)

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


我已经在互联网上查找了一个关于适合我的情况的预加载程序的教程,但是找不到任何使用flash与flashDevelop和AS3的教程。

如果您创建了一个全新的项目“Actionscript 3 with Preload”,FD将生成一个预加载程序类*.as文件,以及一个包含
[frame]
指令的主类文件。将预加载程序*.as文件复制到当前项目中,将指令从新项目的Main.as复制到项目的Main.as中,如果需要,在两个位置更改包名(在预加载程序的
getDefinitionByName()
调用和指令中-需要完全限定的类名),在预加载类中添加您想要的任何视觉效果,就可以了

我的案例中的指令如下所示:

[Frame(factoryClass="Geologist.Preloader")]
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);
}
软件包是地质学家,预加载程序的启动功能如下:

[Frame(factoryClass="Geologist.Preloader")]
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);
}

我尝试了你所说的,但是我得到一个错误,我的main.as上的一些变量是空的。我会继续努力,让你们知道进展如何。当然,舞台是空的。通过主类中的事件侦听器
ADDED_TO_STAGE
event listener克服这个问题。在监听器中移动构造函数代码,并将
if(stage)init(null)放入;else ADDEVENTLISTER(事件。添加到\u阶段,初始化)作为构造器的唯一代码。谢谢我现在没有错误,屏幕变蓝了半秒,这是我的舞台背景,然后游戏出现了,现在我想只需要给我的加载条编码。当您在第一个回答中提到添加视觉效果时,您是指加载栏以及加载时看到的内容,还是说我必须添加所有游戏图像才能正确加载?不,只需添加您认为适合显示加载状态的内容即可。其他的一切都已经在主课上了。好的,酷,现在都完成了:)谢谢你抽出时间来帮助我。