對我的previous問題的後續處理。AS3類/基類構造函數
我在舞臺上有一個按鈕,它有一個名爲Game1的類(我沒有定義這個類,只是像Juan回答我的其他問題那樣鏈接它)。該按鈕有'GameButton'作爲基類,它目前包含一些簡單的x,y語句。
我的所有按鈕都有一個虛擬類「GameX」和一個GameButton基類;這樣他們從基類繼承,但他們仍然可以有不同的圖形。
我有一個包含代碼中添加此按鈕,主類:
public class MainAteam extends MovieClip
{
public var btn1:Game1;
public function MainAteam()
{
btn1 = new Game1();
addChild(btn1);
btn1.addEventListener(MouseEvent.CLICK, startGame1);
}
// startGame 1 function here
}
現在,我希望能夠通過參數來給X,Y值,這樣我就可以放置在不同的點每個按鈕。然而,當我嘗試新的遊戲(5,5),我把在遊戲對象的構造函數如下:
package
{
import flash.display.SimpleButton;
public class GameButton extends SimpleButton
{
public function GameButton(startX:Number, startY:Number)
{
x = startX;
y = startY;
}
}
}
我得到以下錯誤:
1203: No default constructor found in base class GameButton
我真的不知道如何解決這個問題,因爲我讓Flash爲我定義了GameX類(我想他們只是空的)並使用基類來設置一些屬性。如果我只是把x=5; y=5
,它工作正常。非常感謝。
我做了什麼,現在是把btn1.x =,= btn1.y在我的主類(我的遊戲類),但我不知道這是很好的做法。我寧願將它發送給構造函數的參數。我看到的問題是,我讓Flash生成了我實際上沒有使用的Game1,Game2類。我不能把超();那裏(我想它會去那裏)。還在迷茫:( – cabaret 2011-03-20 21:22:42
我剛剛更新了我的答案几次笑來解釋這一切。再問題隨時問。 – 2011-03-20 21:25:13
是的,我貼得更NFO有關在這種情況下該怎麼做,也說明它是如何工作/這是什麼意思。你有2個選項(有更多的但是保持簡單),基本上自己創建和使用這些類(手工編碼),或者將默認值添加到超類構造函數中 – 2011-03-20 21:26:31