2017-03-03 6 views
2

ボタンをTextFieldで作成したいのですが、それはAS3で変更可能なラベルです。AS3:MovieClip内のTextFieldを変更する

私はSimpleButtonでこれを行うことはできませんが、MovieClipのタイムラインを使用して前後にナビゲートすることで、ボタンの上にマウスを置いてクリックするとボタンのテクスチャを変更できました。私は、タイムラインの各フレームのボタンの上に3つのTextFieldを作成しましたが、TextFieldを永続的に変更する方法が見つかりません。

BTNがムービークリップである私が(タイムライン上のムービークリップのフレームを変更する)ボタンをタッチするまで、それが1をフレームに戻ったとき、L1は、フレーム1

btn.l1.text = "label" 

作品のためのTextFieldですラベルは何もない。

私が本質的に知る必要があるのは、フレームを変更しているMovieClipのTextFieldを永久に変更するにはどうすればよいですか?

答えて

1

3つのフレームが異なっているか同じですか?それらが異なる場合は、異なるフレームが完全に新しいオブジェクトを持つため、各ボタンのテキストフィールドのテキストを変更していることを確認してください。

2

テキストフィールドにタイムラインのレイヤーに1つのキーフレームしかない場合は、フレームを変更するときにテキスト値が保持されます。しかし、どんなキーフレームでも、テキストフィールドが再作成され、そのフレームに達するとテキストがリセットされます。キーフレームを使用してテキストの色やフィルタを変更する場合は、代わりにMovieClipにテキストフィールドを置き、MovieClipにカラーティントのキーフレームを使用できます(各キーフレームがMovieClipに同じインスタンス名を使用する限り、は再作成されません)。あなたが唯一の方法はリセットすることになるだろう、テキストのフォントやスタイル(ムービークリップを行うことができない何かを)変更するためにキーフレームを使用している場合

btn.labelMC.textField.text = "label"; 

:だからあなたのような何かで一度テキストを変更したいですあなたは、フレームを変更するたびに後.text

btn.gotoAndStop(2); 
btn.l1.text = "label"; 

あなたは、再利用可能なクラスを使用してこの問題を特定することができます。

+0

+1 @Aaron 複数のキーフレームを避けて(可能な場合)、MC用のクラスを作成します。それはあなたのテキストを変更します。 – tatactic

関連する問題