2012-01-30 5 views
0

私は独自のボタンクラスcustom_btnを作成しました。タイムラインで作成し、ActionScriptで使用するためにエクスポートしました。私は自分のボタンのインスタンスを作成し、それを画面に追加することができます。AS3のボタンのテキストを(動的に)変更するには

ボタンには、テキストを変更したいダイナミックテキストフィールドがあります。タイムライン上にテキストフィールドに名前を付けて、そのボタンにアクセスするときにアクセスしようとしましたが、エラーが表示されます(私はこれが名前がクラスに保存されていないためだと思います)。テキストをどのように変更するのですか?ここではいくつかの混乱があるようです

var myButton:custom_btn = new custom_btn(); 
myButton.caption = "foo"; 
+1

キャプションがTextFieldの名前である場合は、myButton.caption.text = "foo"を試してください。 –

+0

私はアクションスクリプトコードでボタンを作成しています。タイムライン上に名前を付けると、それは保存されません。私が知りたいと思うテキストフィールド名を保存する方法がある場合。私は試してみましょう:私のボタンの上にテキストフィールドを置き、次にシンボルに変換します。ライブラリから新しく作成されたボタンを選択すると、テキストフィールドには名前がありません。 – Boundless

+0

myButtonInstanceName.myLabelId.text –

答えて

0

私はボタンをMovieClipにする必要があることが判明しました。ボタンをMovieClipにすると、テキストフィールドに名前を付けることができました。私はMovieClipを "testBtn_mc"と呼び、その内部の動的テキストフィールドはbutton_txtと呼ばれています。コードは次のようになります:

var button:MovieClip; 
button = new testBtn_mc(); 
button.button_txt.text = "New Text"; 
button.buttonMode = true; 
button.mouseChlidren=false; 

私はこれが誰かを助けることを望みます。

0

は、私はこのような何かをしたいです。

あなたは、あなたが名前Custom_btnであなたのライブラリ内のシンボルを持って

を確認してください...これを試してみてください(理想的に大文字でつながるはず)custom_btnと呼ばれる独自のクラスを作成している場合。

シンボルをダブルクリックしてステージ上で開き、ダイナミックテキストフィールドを追加します。必要に応じてフォントグリフを埋め込み、インスタンス名をtxtにします。

ライブラリに戻って、シンボルにActionScriptの書き出しがあり、シンボルプロパティにフレーム1の書き出しが選択されていることを確認します。

クラス:パスがCustom_btn.asファイルを指していることを確認します。例えばcom.Custom_btn Custom_btn.asファイルがcomという名前のフォルダ内にある場合。

package com { 

    import flash.display.MovieClip; 

    public class Custom_btn extends MovieClip { 

     public function Custom_btn() { 
      // constructor code 
     } 
    } 

} 

そして、ドキュメントクラス内:

var myButton:Custom_btn = new Custom_btn(); 

addChild(myButton); 

myButton.txt.text = "foo"; 
0

あなたが試すことができますいくつかのこと:

1)は、自身のシンボルにテキストフィールドを変換しないようにしてください。私はほとんどこれが必要であると思う。代わりに、フィールドをステージに置き、名前を付けます。あなたは「キャプション」という名前を付けた場合は、テキストを設定するコードは次のとおりです。

myButton.caption.text = "foo"; 

2)あなたのテキストフィールドと同じ名前のクラス内のパブリック変数を宣言します。

public var caption:TextField; 

3)少なくともシステムフォントを使用してください。これは、何かが現れ、フォントの問題ではないことを確認します。非システムフォントに切り替える場合は、選択したフォントを正しく埋め込むようにしてください。

私はこれがあなたを助けてくれることを願っています。

関連する問題