FLASH 5 を使っています。
現在、duplicateMovieClip を使ってムービークリップを複製できるようにしています。
複製するMCの名前に連番を付けるようにして同じものを何個も複製できるようにしています。
別途、ゴミ箱を作り複製したMCをゴミ箱に乗せると削除できるようにしたいと考えています。
hitTest と removeMovieClip を使えば良さそうなのですがうまくいきません。
複製したMCが何個も出来るためゴミ箱基準だとMCの名前を指定できないので複製元のMCに
onClipEvent (enterFrame) {
if (this.hitTest( _root.gomi )) {
this.removeMovieClip ();
}
}
と書いてみたのですがダメでした。
なにぶん Actionscriptを始めたばかりで、良く分かりません。
お分かりの方、教えていただけますでしょうか? 宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
書かれているスクリプトのままで,ちゃんと消えますよ。
作成&検証は Flash 5 です。
よくわかりませんが,
書かれているスクリプトがアヤシイのではなくて,
duplicateMovieClip の方が悪いのではないでしょうか。
一番アヤシイのは深度です。
removeMovieClip で消せるのは,深度0 以上のムービークリップです。
深度-1以下の深度を割りあてると,removeMovieClip では消せません。
===私が作った物======
Flash を起動して,
ステージの真ん中(中央)辺りに,
50px×50pxくらいの塗りの四角を描いて,
ムービークリップに変換し,
インスタンス名に「gomi」と付ける。
次にステージの真ん中の下の方に,
直径40pxくらいの塗りの丸を書いてボタンシンボルに変換する。
そのボタンに,次のように書く。
-----------------------
on (press) {
this.startDrag();
}
on (release, releaseOutside) {
this.stopDrag();
}
-----------------------
そのボタンをさらにムービークリップシンボルに変換し,
インスタンス名に「myMC」と付ける。
その「myMC」に,次のように書く。
-----------------------
onClipEvent (enterFrame) {
if (this.hitTest(_root.gomi)) {
this.removeMovieClip();
}
}
-----------------------
新規レイヤーを挿入して,
そのレイヤーのフレームに次のように書く。
-----------------------
// i= 0~9 までループ
for (i=0; i<10; i++) {
// myMC を newMC? という名で 深度 i に複製
_root.myMC.duplicateMovieClip("newMC"+i, i);
// 複製した物の整列
_root["newMC"+i]._x = 20+45*i;
_root["newMC"+i]._y = 100;
}
-----------------------
→「制御」→「ムービープレビュー」(もしくはパブリッシュ)
================
以上のように作成して,
ステージの上の方に複製された横一列のムービークリップをドラッグして,
ゴミ箱の「gomi」にドラッグすると消えます。
ただし,
ステージ下に最初に作ったムービークリップはドラッグしても消えません。
理由は,深度が-1以下だからです。
/////////////////////////////////////////////
上は,
ご質問のスクリプトをなるべくそのまま残した,
単なる実験サンプル例です。
本当は,
ムービークリップに onClipEvent (enterFrame) を書くと,
CPUの無駄づかいになるので,
ムービークリップには何も書かず,
ムービークリップ内のボタンの方に,
-----------------------
on (press) {
this.startDrag();
}
on (release, releaseOutside) {
this.stopDrag();
if (this.hitTest(_root.gomi)) {
this.removeMovieClip();
}
}
-----------------------
と書いた方が良いです。
また,
実験のために,最初に描いた「myMC」には何も工夫をしていませんが,
_rootのフレームのスクリプトに次のように1行を付けたすと,
最初に描いた「myMC」も消すことができます。
-----------------------
// myMC を深度 1000 に深度変更
_root.myMC.swapDepths(1000);
-----------------------
とにかく上のようなものを作成すると,ちゃんと消えませんか?
まず,深度をうたがってみてください。
duplicateMovieClip("MC名", 深度);
「深度は 0 以上になるように」です。
遅くなりましてスミマセン。
書き込みをした後、自己解決をしたのですが締め切れませんでした。
私も深度を疑ったのですが、MCに付けた連番と同じものを深度にしていたので深度は0以上だったので、他に理由が分からずに質問をさせて頂きました。
その後、何度か試してみたら突然消えるようになったので逆に何故それまでは消えなかったのかが未だに良く分かりません。
とても丁寧にお返事を下さいまして本当にありがとうございます。
ムービークリップに onClipEvent (enterFrame) を書くと CPU の無駄づかいになるんですね。 知りませんでした。 試してみます。
また何かありましたら宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- JavaScript Google scriptについて 至急scriptを作成して欲しいです! 現在、Googlefor 1 2023/07/01 20:08
- 知的財産権 著作権について質問があります。 3 2022/09/28 12:50
- その他(Microsoft Office) googleスプレットシートで左右の数値を比較して色判別させたい 2 2022/06/06 18:33
- スピーカー・コンポ・ステレオ MCカートリッジのオススメを教えてください。 お時間割いてくださりありがとうございます。 当方、現在 10 2022/07/04 14:20
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Excel(エクセル) エクセルでフィルタ後の列の重複を回避したい 6 2022/10/13 12:50
- バラエティ・お笑い 昨日、21時から有吉&指原のMCの番組で勝俣州和が紹介していた「サマートリュフと冷製カルボナーラ」と 2 2023/06/22 01:51
- ピクニック・キャンプ 【画像あり】ワグネルのテント前にある木箱は何用ですか? ベンチかなと思ったら傾斜が 1 2023/07/13 17:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの上にマウスを置くと虫...
-
SNMPの標準MIBについて
-
100点でクリアする簡単なモグラ...
-
経過時間を計るには
-
python ボタンを押すと複数の関...
-
Pythonのtkinterについて
-
PYTHONのtkinterについて
-
四乗根を英語で言うと・・・
-
2つのMC(ドラッグで移動可能...
-
else if文の順序を変えることに...
-
プログラミング、アーキテクチ...
-
YOASOBI
-
【VB.NET】別Formのボタンが押...
-
フォームのテキストの入力数字...
-
テキストボックスの中身をリセ...
-
テキストボックスにセルの値を...
-
FLASHでの色変更
-
VB.NETで数十行のプログラムを...
-
【Photoshop】レイヤー効果の境...
-
IP Address 入力フォームについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
else if文の順序を変えることに...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
四乗根を英語で言うと・・・
-
pythonの画像の貼り付けについて
-
SNMPの標準MIBについて
-
PythonでSetWindowPosを使うに...
-
pythonのグローバル変数
-
ボタンの上にマウスを置くと虫...
-
関数をプロパティとして代入する際
-
ADに参加していないPCからADサ...
-
レイヤーに配置されたムービー...
-
[FlashMX2004]動的にファイルを...
-
メニュースクロール
-
パーセントで配置したフラッシ...
-
Flashの表示サイズを動的に変更...
-
スライドショーのフェードイン...
-
swfがきちんと動作しない!
-
フルウィンドウのFlash Firefox...
おすすめ情報