水滴のforEachLoop処理

ホーム フォーラム CF2.5使用法全般 水滴のforEachLoop処理

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

    お世話になっています、度々すみません。

    オブジェクト「水滴発生源」にForEachLoopを実行し、
    そのオブジェクトが特定のアニメーションフレームになったら
    「水滴」オブジェクトを生成しそこから落とす、という処理を作っています。

    「水滴」オブジェクトにもForEachLoopを実行し、
    キャラクターに当たった水滴は破壊されます。

    しかし2点うまく動きません。
    ・「水滴発生源」が特定のフレームになっても「水滴」を生成しないことがある。することもあり、安定しない。
    ・「水滴」の破壊アニメーション後オブジェクトが消えるはずが、消滅せず残ってしまう。

    プロジェクトを添付しました、アドバイスを頂ければ幸いです。

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

    『イベント連続時にアクションを1回のみ実行』の条件があると、イベントの実行が1回に制限されてしまうため、せっかくForEachループを回していてもイベントは1回しか実行されないため、複数ある同一オブジェクトの内の1個しかアクションが実行されません。フラグや変数を使って別の方法でイベント回数を制限するように組む必要があります。

    『アニメーションが終了』の条件は、それ自体がループ的な動作をする『即時条件』というものになっているので、ForEachの条件は不要です。それどころか、アニメ終了の条件を先頭に持ってこないと、終了したかどうか判定されない場合が多いです。

    ちなみに、アニメーションシーケンスの『消える』は、イベントでオブジェクトが破壊された時に自動的に切り替わるので、わざわざ『変更』→『終了時に破壊』のイベントを組む必要はありません。ただし、『破壊』が実行されて『消える』アニメへ切り替わったオブジェクトは動作や当たり判定が消失します。デフォルトで用意されたアニメーションシーケンスは、オブジェクトに設定された動作や特定のイベントによって自動的に変わってしまうので、それらに左右されたくないアニメは、新規アニメーションの項目を追加してそちらを使用する方が無難です。

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

    ASD様 こちらもありがとうございます。
    詳しい解説、プログラムの修正まで頂き大変助かりました。

    アニメーション周りには隠れ仕様のようなものがけっこうありますね。
    覚えれば便利そうです。

    注釈も丁寧に書いて下さりましたし、今後も参考にさせて頂きます。
    改めてありがとうございました。

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