まず、私は初心者です。第二に、私はより良いタイトルを思いつかないので、誰かがタイトルを変更してください.
問題は次のとおりです。
makebtn(0, 150, true, "btnstart");
btntxt(btnstart, "Start");
私は 2 つの関数を作成しました。 one makebtn
: makebtn( xpos, ypos, alignMiddle, instance name);
number two: btntxt
:btntxt( target instance, displayed text);
function makebtn(xpos:Number, ypos:Number, alignMiddle:Boolean, newname:String):void
{
var button:MovieClip = new btn();
if(alignMiddle == true){
xpos = stage.stageWidth / 2 - button.width / 2;
}
button.x = xpos;
button.y = ypos;
button.name = newname;
trace("Success adding button - " + button.name);
stage.addChild(button);
button.gotoAndStop(4);
button.useHandCursor = false;
}
function btntxt(button:MovieClip, txt:String):void
{
button.btnText.text = txt;
button.buttonMode = true;
button.useHandCursor = true;
button.addEventListener(MouseEvent.MOUSE_OVER,overListener);
button.addEventListener(MouseEvent.MOUSE_OUT,outListener);
button.addEventListener(MouseEvent.MOUSE_DOWN,clickListener);
button.addEventListener(MouseEvent.MOUSE_UP,upListener);
}
ボタンを単純なボタンではなく、ムービークリップとして作成しました。
表示される問題は、 への未定義プロパティのアクセスですbtnstart
。問題の原因は時間の不足ですか、それとも何ですか? 助けてください!
私の情報が不足している場合は教えてください。リスナーは問題なく機能していると確信しています。
これらをタイムラインで作成しています。
そうですね、btntxt(button, "Start");
makebtn 関数の中に入れればうまくいきます。
2番目の編集:
function makebtn(xpos:Number, ypos:Number, alignMiddle:Boolean, newname:String):void
{
var button:MovieClip = new btn();
if(alignMiddle == true){
xpos = stage.stageWidth / 2 - button.width / 2;
}
button.x = xpos;
button.y = ypos;
button.name = newname;
trace("Success adding button - " + button.name);
stage.addChild(button);
button.gotoAndStop(4);
button.useHandCursor = false;
}
function btntxt(target:String, txt:String):void
{
var button;
button = getChildByName(target);
button.getChildByName("btnText").text = txt;
button.buttonMode = true;
button.useHandCursor = true;
button.addEventListener(MouseEvent.MOUSE_OVER,overListener);
button.addEventListener(MouseEvent.MOUSE_OUT,outListener);
button.addEventListener(MouseEvent.MOUSE_DOWN,clickListener);
button.addEventListener(MouseEvent.MOUSE_UP,upListener);
}