• 締切済み

ムービークリップの重ね順を部分的に変えたい

AS3.0で、2つの四角形(MovieClip)があったとします。 片方にはテキスト(画像でも可)をaddChildで加えてあります。 2つの四角形が移動・変形・回転などして重なった時、どちらの四角形が上になったとしても、 テキストだけは常に最前面に来るようにしたいと考えています。 どうすればこのような構造を実現できるのでしょうか? ちなみにこの「文字」はビットマップ化された状態の画像で構いません。

みんなの回答

  • tsuka115
  • ベストアンサー率0% (0/0)
回答No.2

もし自分ならですが、簡単なのは下記じゃ無いでしょうか? 1)例えばサイズ1pxx1pxの2つのMoviClipmc1,mc2を用意し   mc1をmc2の上のレイヤーに配置する。 2)テキストを四角形の片方にaddChildせずにして   mc1にテキストをaddchild   mc2に2つの四角形をaddchldで自由に重ね順を変更 3)テキストの動きを一つの四角形に連動させる    x,y,rotation,scaleX,scaleYなど

django13
質問者

補足

下の補足と同じ形になりますが、 サンプルではひとつの文字ですが、、不定数の 要素を箱に乗せていった場合はそれぞれ回転軸が違うなどして 大規模になりすぎてしまうため、同期させない方法を探していました。

  • anyhelp
  • ベストアンサー率43% (79/181)
回答No.1

一つの方法として、四角Aと四角Bと文字の3つMovieClipをつくります。 文字がアニメーションするときには動きを参照したいプロパティを毎回参照して位置や回転角を文字に反映させます。 //データの型は省略してます。 //設定 var a=new MovieClip();//四角A addChild(a); var b=new MovieClip();//四角B addChild(b); var t=new MovieClip();//文字(継承して新たなクラスを作る事をお勧めします) t.owner = a; addChild(t); //アニメ(以下の関数がenterFrameイベント又はタイマーで動く前提とします) function onTick(e) { //動作 a.x+=10; a.rotation+=30; b.y+=20; //四角Aに動作を合わせる t.x=a.x; t.y=a.y; t.rotation=a.rotation; }

django13
質問者

補足

回答有り難うございます。 サンプルではかなり簡略化していますが、 実際には複数の画像や文字が四角形の中に乗る予定なので、 すべての図形をぴったり合わせるのは難しそうです。