質問ページ4 /
8
質問内容 †
質問させて下さい。
MC同士の当たり判定は、MC.hittest(MC);で出来るとの事ですが、
MC内の「あるラベル」のみに当たり判定を付ける事は可能でしょうか?
仮にスプライトAとスプライトBが画面上にあるとして、
スプライトAにラベル(アタック)とスプライトBにラベル(アタック受け)というのを設け、スプライトAのアタックがスプライトBに当たるとスプライトBがアタック受けを表示する。という風に判定をつけたいのです。どのように記述するのが適切なのでしょうか?
宜しくお願いします。
回答 †
- それぞれのMCのラベルに不透明度を0にしたダミーの子MCを入れそれ同士の当たり判定を取ってみては? --
- 有難うございます。両方にダミーの子MCを入れ、if(_root.aaa.bbb.hittest(_root.ccc.ddd));gotoAndPlay?("●●")という感じにしたのですが、何故か●●の所に切り替わりません。これは書き方が間違ってるのでしょうか? --
- すいません。間違いです。("●●")のラベルに飛ぶのですが、そのラベル直下の画像で止まってしまい、次のフレームに進まない状態になっているのですが、これは飛んだ先のラベルにも何か記述が必要なのでしょうか? --
- 接触し続ければ、("●●")のラベルに戻り続けます。解決するにはフラグを立てるとよいでしょう --
- 何度もすいません。ダミーMCのASにflag = false;を書き足し、ラベルの直下にflag = true と記述したのですが、やはり1枚目の画像で止まってしまいます。これは記述する所が違うのでしょうか? --
- if(!flag){}で括りましたか?またASを書いた場所の階層は合っていますか? --
- MC内ダミー子MCのASはonClipEvent? (enterFrame) {if (_root.aaa.bbb.hittest(_root.ccc.ddd));{if (!flag)_root.aaa.gotoAndPlay?("●●");flag = false;}}で、ASの階層というのはこれではだめなのでしょうか? --
- 即座にflag = false;って戻しちゃダメじゃんw flag = false;はonClipEvent?(load){}内とラベルの最後にフレームアクションを置いてそこに書けばいいのでは --
- すいません。。やっぱりどうやっても直下の画像で止まってしまいます。。 --
- 変数flagはどこで定義していてますか?メイン、親MC、子MC?その階層を合わせなくてはなりませんよ --
- 親MCのラベルにスクリプト(flag = false;)を入れた場合親MCに変数定義しないとダメだということですかね??この親MCにはflag = true;が既に定義してあるのですが、こういう場合はどうしたらいいのでしょうか?ラベル何のスクリプトをflag = true;に変えて試してみたのですが、直下の画像で止まるというのは解消されたのですがHit領域がおかしくなってしまいました。 --
- 訂正です「ラベル何」→「ラベル内」の間違いです。すいません。 --
- この先はプロジェクトファイルを見ないと答えられません。自身での工夫とデバッグで解決へ導いてもよい頃だと思います --
Menu
最新の15件
2023-08-05
2021-08-08
2020-04-16
2019-04-23
2019-02-17
2018-08-15
2017-11-18
2017-05-07
2017-04-11
2017-04-07
2017-04-04
2017-03-27
2017-03-26
2013-05-24
2013-08-27
人気の5件
Edit Menu
866 Hits
Total: 17.6 MB
text: 1.5 MB
attached: 16.1 MB