添加符号到舞台而不导出动作脚本?

时间:2010-07-10 17:19:25

标签: flash actionscript-3

我正在制作一个Flash游戏,我想拥有一大堆不同的房间,我可以用代码制作和删除。通常我会使用类似的东西:

var room:Sprite = new room1();
game.main.addChild(room);

...但是我必须将每个房间导出为动作脚本。有没有办法让它们成为符号?如果不出意外,我可以用一个符号将所有房间叠加在一起,并设置除了一个之外的所有房间,但我更喜欢用getDefinitionByName()这样做。

2 个答案:

答案 0 :(得分:1)

一个房间与另一个房间的区别是什么?他们有什么不同?理想情况下,您可以将这些“差异”分组到类的层次结构中。举个简单的例子,如果有些房间是蓝色的,有些房间是红色的,你可以创建以下类:

Room
ColoredRoom

Room是ColoredRoom的父级。然后,你给彩色房间一个属性,如:

var color:Color;

并设置该属性以创建三个不同的房间:

var redRoom:ColoredRoom = new ColoredRoom();
var greenRoom:ColoredRoom = new ColoredRoom();
var blueRoom:ColoredRoom = new ColoredRoom();

redRoom.color = new Color(255,0,0);
greenRoom.color = new Color(0,255,0);
blueRoom.color = new Color(0,0,255);

一旦你“分组”你的课程,你不应该出口超过几个“类型”的房间。每个属性都有自己的一组属性,使它与另一个属性不同(可能是不同的源图像文件或动画片段)。

基本点是,在对象方面解决问题应该会让事情变得更容易。弄清楚:

如果你不得不将你的房间分成两个或三个不同的类别,它们会是什么?

从那里开始。我希望在某种程度上有所帮助,

- gMale

答案 1 :(得分:0)

我认为你必须为AS导出每个,但是我不确定...但是,如果你确实将它们全部放在一个符号中,那么将它作为一个MovieClip就会容易得多,并将每个放在不同的框架上;然后,您可以通过转到相应的框架在房间之间切换。