0

実行時にボタンのラベルを動的に変更する方法を教えてもらえますか?

これが私が試したコードです:

var go:Button = new Button();
go = symbol_1;
go.label = "GO";

これはうまくいかないようです。

記載されているエラーは、「静的タイプの flash.display:SimpleButton を使用した参照を介した未定義の可能性のあるプロパティ ラベルへのアクセス」です。

4

1 に答える 1

0

まず、やり方が間違っています。var go:Button = new Button();新しいオブジェクトを作成してからButton、別のオブジェクトをgo変数に割り当てるとします。したがって、Button作成した new は失われ、それへの参照はありません。したがってButton、この状況で new を作成する必要はありません。

第二に、あなたはエラーから明らかであるためsymbol_1、タイプです。オブジェクトにはプロパティがないため、割り当てようとするとエラーが発生します。SimpleButtonSimpleButtonlabel

次に回避策です。を配置しTextFieldsymbol_1インスタンス名を指定すると、次のように参照できます。

// assuming that instance name for the placed TextField is 'textBox'
symbol_1.textBox.text = "new label";

編集:実際には、この最初の方法はバグが多く、信頼できないため、以下で説明する 2 番目の方法を使用してください。

MovieClipまたは、ラベル プロパティを持ち、手間をかけずに変更できる a に基づいて独自のクラスを作成することをお勧めします。

于 2013-07-12T07:16:19.970 に答える