重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

過去ログに該当するのがありませんでしたので質問します。
マウスに追従するシンボルについてですが、mcを3つ用意します。
インスタンス名をそれぞれmy_mc、my_mc1、my_mc2とします。

アクションスクリプトは下記です。

my_mc.addEventListener(Event.ENTER_FRAME,onEnterframe);
function onEnterframe(event:Event):void{
my_mc.x+= (stage.mouseX-my_mc.x)/3;
my_mc.y+= (stage.mouseY-my_mc.y)/3;

my_mc1.x+= (my_mc.x-my_mc1.x)/3;
my_mc1.y+= (my_mc.y-my_mc1.y)/3;
my_mc2.x+= (my_mc1.x-my_mc2.x)/3;
my_mc2.y+= (my_mc1.y-my_mc2.y)/3;
}

my_mcが追従して、my_mc1とmy_mc2が追いかけます。
my_mc2の重なりが最も手前になってしまいます。私としては一番奥にさせたいのですが
何が原因でこのような現象になるのでしょうか。

環境:
FLASH CS3
アクションスクリプト 3.0

A 回答 (1件)

> 何が原因でこのような現象になるのでしょうか。



その
my_mc と my_mc1 と my_mc2 を配置したときの手順
または
my_mc と my_mc1 と my_mc2 を addChild したときのスクリプト
を書かれていないため
なぜそうなるのかは,そうした人物以外わかりません。

逆に言えば,
my_mc と my_mc1 と my_mc2 を配置したときの手順
または
my_mc と my_mc1 と my_mc2 を addChild したときのスクリプト
に問題があるとしか言いようがないですね。



もし my_mc と my_mc1 と my_mc2 を手動で配置したのでしたら
その上下順を入れ替えて配置すれば良いだけです。
あえて
my_mc と my_mc1 と my_mc2 を配置するレイヤーを分けて
そのレイヤーの順序で管理するのも1つの立派な方法です。


もし my_mc と my_mc1 と my_mc2 を手動で同じレイヤーに配置したのでしたら
my_mc2 → my_mc1 → my_mc の順に1つずつのインスタンスを選択して
「修正(または右クリック)」→「重ね順」→「最背面へ」を繰り返せば良いでしょう。

もし my_mc と my_mc1 と my_mc2 をスクリプトで
my_mc → my_mc1 → my_mc2 の順に addChild したのでしたら
my_mc2 → my_mc1 → my_mc の順に addChild するように変更すればいいのではないでしょうか。


つまり
my_mc2の重なりが最も手前になってしまうように配置したから
my_mc2の重なりが最も手前になっているだけのことで
それがmy_mc2の重なりが最も手前になる原因です。

そのようにしなければ良いだけではないか(そのようにしなければ良いだけだ)と思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
重なり順を修正で見ると、確かにそのようになっていましたので
最背面へもっていきました。
ちゃんと希望通りに動作しました。

お礼日時:2011/10/12 21:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!