質問ページ4 / 8


質問ページ4 / 8

質問ページ4/8

概要当たり判定について
投稿者Parafla Quality
状態
カテゴリーActionScript
投稿日2010-09-27 (月) 21:07:51
バージョン1.37

質問内容

質問させて下さい。 MC同士の当たり判定は、MC.hittest(MC);で出来るとの事ですが、 MC内の「あるラベル」のみに当たり判定を付ける事は可能でしょうか? 仮にスプライトAとスプライトBが画面上にあるとして、 スプライトAにラベル(アタック)とスプライトBにラベル(アタック受け)というのを設け、スプライトAのアタックがスプライトBに当たるとスプライトBがアタック受けを表示する。という風に判定をつけたいのです。どのように記述するのが適切なのでしょうか? 宜しくお願いします。

回答

  • それぞれのMCのラベルに不透明度を0にしたダミーの子MCを入れそれ同士の当たり判定を取ってみては? -- 2010-09-28 (火) 19:24:23
  • 有難うございます。両方にダミーの子MCを入れ、if(_root.aaa.bbb.hittest(_root.ccc.ddd));gotoAndPlay?("●●")という感じにしたのですが、何故か●●の所に切り替わりません。これは書き方が間違ってるのでしょうか? -- 2010-09-29 (水) 13:27:35
  • すいません。間違いです。("●●")のラベルに飛ぶのですが、そのラベル直下の画像で止まってしまい、次のフレームに進まない状態になっているのですが、これは飛んだ先のラベルにも何か記述が必要なのでしょうか? -- 2010-09-29 (水) 13:37:40
  • 接触し続ければ、("●●")のラベルに戻り続けます。解決するにはフラグを立てるとよいでしょう -- 2010-09-29 (水) 19:32:09
  • 何度もすいません。ダミーMCのASにflag = false;を書き足し、ラベルの直下にflag = true と記述したのですが、やはり1枚目の画像で止まってしまいます。これは記述する所が違うのでしょうか? -- 2010-09-30 (木) 03:21:33
  • if(!flag){}で括りましたか?またASを書いた場所の階層は合っていますか? -- 2010-09-30 (木) 08:56:01
  • MC内ダミー子MCのASはonClipEvent? (enterFrame) {if (_root.aaa.bbb.hittest(_root.ccc.ddd));{if (!flag)_root.aaa.gotoAndPlay?("●●");flag = false;}}で、ASの階層というのはこれではだめなのでしょうか? -- 2010-10-01 (金) 00:02:44
  • 即座にflag = false;って戻しちゃダメじゃんw flag = false;はonClipEvent?(load){}内とラベルの最後にフレームアクションを置いてそこに書けばいいのでは -- 2010-10-01 (金) 07:22:49
  • すいません。。やっぱりどうやっても直下の画像で止まってしまいます。。 -- 2010-10-07 (木) 00:08:04
  • 変数flagはどこで定義していてますか?メイン、親MC、子MC?その階層を合わせなくてはなりませんよ -- 2010-10-07 (木) 12:37:18
  • 親MCのラベルにスクリプト(flag = false;)を入れた場合親MCに変数定義しないとダメだということですかね??この親MCにはflag = true;が既に定義してあるのですが、こういう場合はどうしたらいいのでしょうか?ラベル何のスクリプトをflag = true;に変えて試してみたのですが、直下の画像で止まるというのは解消されたのですがHit領域がおかしくなってしまいました。 -- 2010-10-08 (金) 04:05:06
  • 訂正です「ラベル何」→「ラベル内」の間違いです。すいません。 -- 2010-10-08 (金) 04:06:00
  • この先はプロジェクトファイルを見ないと答えられません。自身での工夫とデバッグで解決へ導いてもよい頃だと思います -- 2010-10-09 (土) 17:05:32