オブジェクトが2つ以上存在する時攻撃判定作成時に別々作成する方法

ホーム フォーラム CF2.5使用法全般 オブジェクトが2つ以上存在する時攻撃判定作成時に別々作成する方法

  • このトピックには5件の返信、2人の参加者があり、最後にdaifukuにより6年、 6ヶ月前に更新されました。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #14418
    daifuku
    参加者

    お世話になります、タイトルが長いのですが説明すると
    攻撃時に攻撃の当たり判定を作成するように作ったのですが
    一つのオブジェクトイベント内で2体以上キャラクターを作成した場合
    キャラクターが攻撃時に当たり判定が片方だけにしか作成されません、更に同時に攻撃を行います。
    ForEachループも使ってみたのですがどうも上手くいきません。
    他の視界やアニメーションなどのオブジェクトはしっかりついてくるのですが
    やはり攻撃時のみに作成という条件のせいでしょうか。
    攻撃後は破壊するようになっています。
    どうぞよろしくお願いいたします。

    Attachments:
    You must be logged in to view attached files.
    #14434
    daifuku
    参加者

    あれから結構色々手を付けていった所一つの敵としては完成したのですが
    やはり複数存在する時に同じ挙動をする理由がわかりません。

    なので今度は敵の本体2を作成した(クローン)所、アニメーション用の画像やあたり判定などのオブジェクトの作成が片方(本体2)しかされていません。
    本体1はアニメ画像も無く本体だけで動いています。
    本体1にもアニメを自信の位置に作成するイベントはあります。
    どうも敵の視野の透明度を見る限り本体に2つ重なっているようです。

    本体一つで行おうとする場合は上の投稿のように2つ以上存在したら片方が攻撃した瞬間
    もう片方も同じ挙動で動きますし、移動する時も一緒に反応してしまいます。
    また倒したときも同時に死にます。それに攻撃の当たり判定は片方しか作られません。

    これ以外の方法となると本体、アニメ、視野、攻撃判定をすべてクローンしてイベントの中身を一つ一つ入れ替えて、イベントを直していくくらいしか方法が思いつかないのですがあまりに時間がかかりますし非効率です。なんとかならないでしょうか。

    イベントの場所は敵ファイルの中の敵aA_01_エウカリオート_本体のオブジェクトイベントです

    Attachments:
    You must be logged in to view attached files.
    #14446
    ASD
    キーマスター

    >>daifukuさん
    ForEachを使ってループさせているオブジェクトに子オブジェクトがある場合、条件には、そのイベント行で使用されている子オブジェクトを特定するための条件(作成時に子の変数へ入れた親の固定値と実際の親の固定値が一致しているか)が必要です。うまく動いていないのはイベントで使用されているのにこの条件が無く子オブジェクトの特定が行われていなかったためです。

    フレーム2を修正しました。ご確認ください。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2017/10/cf25_blog_2017-10-08_敵の挙動についての質問.zip

    #14447
    ASD
    キーマスター

    追記:他に単純なミスとして、元の94行目、右向き時の攻撃判定作成時に、親(本体)の固定値を入れるはずが、作成した子(判定)の固定値が入るように設定されていました。

    #14451
    ASD
    キーマスター

    更にアドバイスですが、ループ条件のあるイベントに『イベント連続時にアクションを1回のみ実行』を入れると、イベントそのものの実行が1回に制限されるため、せっかくループを回しているのに1つのオブジェクトしか動作しません。ループ条件のあるイベントの実行回数を制限するにはフラグを使用してください。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2017/10/cf25_blog_2017-10-09_ループ条件のあるイベントに『連続時1回のみ実行』を入れた場合.zip

    #14453
    daifuku
    参加者

    >>ASD様
    なるほど個別の動作をさせるためにはそのたびに子オブジェクトの固定値=Fixed本体の条件を挿入する必要があるのですね。理屈を全く理解していませんでした。
    そしてループ条件のあるイベントの回数制限にはフラグが必要なんですね。
    となると敵を今後このやり方で作成していくとフラグの使用が必須となるのですね。
    制作が完全に詰んでいたのでとても助かりましたありがとうございます。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。