« プロレス運輸 | Home | go slow »

Apr 042005

負のdepthを持つMovieClipのremove

thFlash.gif既出かもしれないがとりあえずメモ。
MovieClipの深度範囲は、-16384 から 1048575 まで割り当てることができるのだけど、depthに負の値を割りあてたMovieClipは外からも中からも消去できなくなる。
なんだろう?これ今まであまり気にしたことなかったけど、結構負の深度使ってる気がする。なんか嫌な予感。というかなんかイージーミスかな?

bt_make.onRelease = function() { _root.attachMovie("dev_sample", "ins1", -1); }; bt_remove.onRelease = function() { ins1.removeMovieClip(); }; bt_move.onRelease = function() { ins1._x += 100; };

ただし、通常参照には問題なさげ。とりあえずremoveMovieはできない。この辺の深度をスプライト系に使用しようとしていた野望が思いもかけないところで崩れた・・・(;´Д`)

9 Comments

負の深度はオーサリングツール上で配置したMCとかに予約されるためです。ステージに手で置いたMCがremoveできないのもこの理屈です。

そう、まるで人生のように[謎]。

ちなみに-16385は背景色を表示するのに使います。確か。

初めまして。いつも楽しく読ませていただいてますです。

負の深度は、オーサリング時に配置したmc用に用意されていたものと記憶しています。removeMovieClipとかも深度がマイナスかプラスかで消せるか消せないかを判断しているようです。

なので逆に言えば、オーサリング時に配置したmcでもswapDepths()で深度をプラスにすれば消せるし、ランタイム時に配置したmcでも深度をマイナスにすれば消せなくなるっていう技も使えます。(使えたからなんだっていう話ですが・・・)

別に解決になってないですが・・・知ってたらすいません(^^;

うあ?かぶった!タイムスタンプとかからメッチャ検証しながら書き込んだ事がバレてしまう・・・。

おおー、すげえ。即効で2つもお返事きちゃったw
ありがとうございます。
なるほど、そういうことなのですね。
ということは深度にマイナスを任意で使うと手で置いたものと内部的にバッティングしてしまったりしてよろしくないのだろうか?
>オーサリング時に配置したmcでもswapDepths()で深度をプラスにすれば消せるし、ランタイム時に配置したmcでも深度をマイナスにすれば消せなくなるっていう技も使えます。
これは実は結構使えそうです。ウヒヒ
ありがとございますw

>この辺の深度をスプライト系に使用しようとしていた野望

コメント欄にコードかけるかわからなかったので、自分のとこに書いてしまいましたが、
↓みたいなので、removeMovieClipからマイナス深度のMCを消せるようになりますよ :-)

http://www.fladdict.net/blog-jp/archives/2005/04/post_15.php

おお、なんかすいませんw
しかしこうなると"getNextHighestDepth"の反対の"getNextLowestDepth"とかほしいなあ・・・w
ちょっと作っとくかな。

インターネットで遊んでいた時に「震度0以下の震度マイナス」を見たのですが、夢だったのでしょうか?

インターネットで遊んでいた時に震度がマイナスを見たのですが、プリントしませんでした。
夢だったのか悩んでいます。

その時に自分の姿を俯瞰してみていたならばおそらく夢です。私の場合だけかもしれませんけど・・・。

Leave a comment

Search and Archives