我很擅长在AS3中添加类,到目前为止,我刚刚在电影的第1帧上做了一切。我想我最终应该学习类,所以这里是:)当我在屏幕上添加对象时,我喜欢将它们组合在容器对象中以供以后使用。所以我有一个我正在构建的Hex's板,我正在尝试将它们放入一个名为hexContainer的MovieClip中,我将它放在舞台上。现在如果我像往常一样做这个代码,我会做hexContainer.addChild(tempHex)。但是,这给我一个错误1120。
我的班级代码如下:
package
{
import flash.display.MovieClip
import Hex
import flash.display.Stage
public class Boards extends Hex
{
public function buildBoardOne()
{
for(var i:int = 1; i <= 5; i++)
{
var tempHex:Hex = new Hex();
tempHex.x = 100;
tempHex.y = 100;
hexContainer.addChild(tempHex);
}
}
}
}
我在开始时只是将这些添加到舞台中并且在我这样做时出现错误,这就是导入语句存在的原因。我已经检查了谷歌以找出原因,这就是他们所说的。
现在,当我将这些添加到舞台时,它工作得很好。我可以得到我的十六进制并操纵他们,我们参加了比赛,这是一段美好的时光。现在我正试图将它们放入容器影片剪辑中,他们对我很生气,我无法安抚它们:p
你们可以给我的任何帮助将不胜感激。
编辑代码以测试okayGraphics的建议:
package
{
import flash.display.MovieClip
import Hex
import flash.display.Stage
public class Boards extends Hex
{
var hexContainer:MovieClip = new MovieClip();
stage.addChild(hexContainer);
public function buildBoardOne()
{
for(var i:int = 1; i <= 5; i++)
{
var tempHex:Hex = new Hex();
tempHex.x = 100;
tempHex.y = 100;
stage.addChild(tempHex);
}
}
}
}
答案 0 :(得分:1)
您收到1120错误,因为此程序包中未定义hexContainer。
您要么(1)在尝试向其添加子项之前声明var hexContainer = [your_reference_here]
,
或
(2)您可以将hexes作为子项添加到Boards类中,然后将其添加到hexContainer中。
而不是hexContainer.addChild(TempHex);
只是放addChild(TempHex);
还有很多其他方法可以做到这一点,但我认为这两种方法是最直接的方法。