2009-07-09 4 views
0

このファイルにムービークリップという名前のムービークリップがあります。このムービークリップは、私はこのムービークリップにムービークリップを移動してテキストを追加したいのですが、同じオブジェクトのようにテキストを移動します。ムービークリップを動かすときに動くムービークリップのダイナミックにテキストを追加する方法

+0

fla、as、またはmxmlファイルの例を投稿できますか? – bgw

答えて

0

Umm。正確に何をしたいのか分かりませんが、私があなたを正しく理解していれば、これを実装する方法はいくつかあります。

OPTION 1:

button.addEventListener(MouseEvent.CLICK, followFunc); 

private function followFunc(event:MouseEvent):void { 
    removeChild(text); 
    movieClip.addChild(text); 
} 

OPTION 2:

button.addEventListener(MouseEvent.CLICK, followFunc); 

private function followFunc(event:MouseEvent):void { 
    stage.addEventListener(Event.ENTER_FRAME, updateFunc); 
} 

private function updateFunc(event:Event):void { 
    text.x = movieClip.x; //possibly + or - some offset 
    text.y = movieClip.y; 
} 
+0

ところで、なぜMovieClipsを使用していますか?あなたがフレームを必要としないなら、スプライトはより速くなります。 – bgw

+0

ありがとう、私の英語は非常に貧しいので、私は非常に一元的に表現することはできません。それをもう一度説明しよう。私は、ボタンをクリックしたときにムービークリップとして実行されるボールにテキストを添付したい、ボタンがクリックされたとき、ボールが下から上に移動し、テキストがボール上で右に移動して移動するとき。 –

+0

私はあなたが指摘しているオプション1を使用しますが、テキストはボールに表示されませんでしたが、ボールが動いたときにテキストがまだそこに表示されます –

0

ボールがタイムライン上にあるため、最も単純なアプローチは、その同じムービークリップにテキストフィールドを配置することができますボールアセットのようなものがレイヤー1にあり、テキストフィールドがレイヤー2にあります。

あなたがボールになりたいと思っているように、ield。

「ballTextField」のようなテキストフィールドに名前を付ける必要があります。

ボールにMovieClipという名前を付けます(Flashオーサリング環境またはプログラムでステージに追加する場合)。それを「ボール」のようなものと呼んでください。その後

button.addEventListener(MouseEvent.CLICK, buttonClickListener); 

private function buttonClickListener(e:MouseEvent):void 
{ 
    ball.ballTextField.text = "Hi. This text displays on the ball"; 
} 

基本的に、これは(実際に、または同じオブジェクトの2つの部分)のテキストとボールと同じオブジェクトになります。

+0

ありがとう、やってみます –

関連する問題