0

主題はそれをほとんど説明します。ステージ全体をカバーするビットマップだけで、MovieClipのフレーム1から始めます。

次に、ユーザーがボタンをクリックすると、フレーム2に移動し、画像の一部をカバーするステージ上にベクトル形状が表示されます。同時に、コードを使用して、入力テキストフィールドをステージに配置します。

問題は、動的に作成されたテキストフィールドが(ステージ上に描画された)ベクトル形状の下に表示されていることです。FlashCS3とActionScript2ではこの問題が発生しなかったため、これはActionScript3では新しい問題のようです。

テキストフィールドを別のレイヤーに配置しようとしましたが、役に立ちませんでした。テキストフィールドをベクトル図形の上に表示するにはどうすればよいですか?

4

4 に答える 4

0

コードを使用してベクトル形状を追加してから、テキストフィールドを追加してみてください。

var vectorShape:Sprite = new Sprite();  
addChild(vectorShape);

var textField:TextField = new textField();  
addChild(textField);

これにより、ベクターシェイプがテキストフィールドの下に配置されます。

于 2008-11-28T22:46:21.607 に答える
0

私はすでにそれを試しました。フレームワークをAS3に移行するのを妨げているのは、このような奇抜なことです。

問題は、Flashがステージ上にあるものをレンダリングする方法にあると判断しました。呼び出すsome_mc.play();と、ステージに新しいオブジェクトが導入されます。同時に、プログラムで他のオブジェクトをステージに配置します。ステージに手動で配置されたオブジェクトは、プログラムで作成されたオブジェクトの上に常に直接レンダリングされます。これはすべての人の経験ではないかもしれませんが、それは私が見ているものです。

私の解決策:電話some_mc.play();をかけ、10ミリ秒待ってから、他のオブジェクトをステージに配置します。

于 2008-11-21T19:00:13.607 に答える
0

ベクトル形状をムービークリップ内に配置します。次に呼び出します。

setChildIndex(myTextField, numChildren - 1);
于 2008-11-21T10:03:42.707 に答える
0

デザイン時のベクターとランタイムのテキストフィールドが同じフレームに存在するために問題が発生したように聞こえるので、それらが表示されるタイミングと移動できるタイミングの問題です。

最も簡単な方法は、この問題を回避することです。1 つの方法として、テキスト フィールドのホルダーとなる空のムービー クリップを (設計時にステージ上で) 作成し、必要な場所にレイヤー化し、実行時にその中にテキストを作成する方法があります。もう 1 つの解決策は、フレーム 1 にベクターまたはテキスト フィールド (またはその両方) を作成し、必要になるまで非表示にしておくことです。

于 2008-12-08T02:53:34.097 に答える