AS3 - ムービークリップオブジェクトのクリックイベントを処理するために汎用ボタンハンドラを使用します。過去4時間、私はこのムービークリップに画像を追加しようとしていました(* * *)オブジェクトを参照してください。AS3「拡張」ムービークリップに画像を追加
コード(Iカットビットを貼り付けたが、これはすべてのエラーなしでコンパイル)は、このコードで
btPlay = new mcButtonPlay(this,"ClickMe",GameImage); // GameImage is an BitmapData object
public class mcButtonPlay extends navigationButtonHandler {
public function mcButtonPlay(Parent:MovieClip,Text:String,GameImage:BitmapData) {
super(Text);
if (GameImage != null) {
var ImageBitMap:Bitmap = new Bitmap(GameImage);
this.addChild(ImageBitMap); // * * * This doesn’t show
Parent.addChild(ImageBitMap); // Works just to test the image
}
}
}
public class navigationButtonHandler extends MovieClip {
public function navigationButtonHandler(Text:String) {
ChangeButtonTargetText(Text);
Parent.addChild(this);
}
}
問題の原因は不明ですが、ここでは、変数とクラスの大文字小文字の区別についてのhttp://opensource.adobe.com/wiki/display/flexsdk/Coding+ConventionsのAS3コーディング規約をご覧ください。名前。 –
movieclipを拡張しているクラスを拡張している間にパラメータをmcButtonPlayに渡すことができないので、これはうまくいかないと思います...あなたにエラーがスローされませんか? – Eric
クラス名を常に大文字にし、変数名を大文字にしないでください。それらは強い慣習です。 サフィックス「ハンドラ」は、イベントハンドラ(関数)に対してのみ使用してください。 MovieClipを指定する場合は、接尾辞_mcを追加します。 –