[英]AS3 - Adding an object to a MovieClip Container from a class
我對在AS3中使用類進行添加有點陌生,到目前為止,我只是在影片的frame1上進行了所有操作。 我認為我最終應該學習類,所以在這里走了:)當我將對象添加到屏幕上時,我喜歡將它們組合在一起放在容器對象中以備后用。 因此,我要建立一個Hex董事會,我正在嘗試將它們放入名為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);
}
}
}
}
我一開始只是將這些添加到舞台上,然后在執行時遇到錯誤,這就是為什么import語句在那里的原因。 我已經在Google上檢查過,以找出原因,這就是他們所說的。
現在,當我將它們添加到舞台上時,效果很好。 我可以得到我的六角形並操縱它們,我們參加了聚會,這是一個美好的時光。 現在,我試圖將它們放入容器影片剪輯中,他們對我很生氣,但我無法安撫他們: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);
}
}
}
}
由於此程序包中未定義hexContainer,因此出現1120錯誤。 您要么(1)需要在嘗試向其添加子級之前聲明var hexContainer = [your_reference_here]
,
要么
(2)您可以將hexes作為子級添加到Boards類中,然后將其添加到hexContainer中。 而不是hexContainer.addChild(TempHex);
只是把addChild(TempHex);
也有很多其他方法可以做到這一點,但我認為這兩種方法是最直接的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.