すり抜け床について

ホーム フォーラム CF2.5使用法全般 すり抜け床について

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

    お世話になっております。
    だいぶ前にすり抜け床について質問したのですが、上手く動きません。
    キャラの下判定とすり抜け床が接触する事で、すり抜け床の上に乗れるという挙動を作りたいのですが、キャラの本体とすり抜け床が接触しただけで勝手に登ってしまう状況です。

    ギガファイル便 すり抜け床についての質問
    https://14.gigafile.nu/1003-o9b1e92d1cce9522a15dc535bf72bf015

    ワークスペースツールバー→無機物(プ)→Cbb_03_戦車_本体→149行目です。

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

    『プレイヤー&Lv』オブジェクトとすり抜け床の判定が設定されているため、それと触れた時点で押し上げ処理が発生し、登ってしまうようになっています。解決策としては、すり抜け床の高さを、キャラが他の地面に接地している状態では接触できない位置へ変えてください(ジャンプしないと乗れない高さにする)。

    下判定と接触していなくてもすり抜け床に乗ったままになるのも同様に『プレイヤー&Lv』との判定があるせいです。こちらは下判定の長さを『プレイヤー&Lv』と同じにすれば良いです。

    #33288
    daifuku
    参加者

    色々なサイズの(50×50から150×150)のようなキャラがいる上、ジャンプ力もキャラごとに変化を付けようと考えているので、すり抜け床とキャラの位置が重ならないようにする他に解決手段はないでしょうか?ナメクジのようなキャラとカンガルーのようなキャラがいたとしても同じジャンプ力にするのは避けたいです。

    自分なりに考えたのは下判定のみですり抜け床との接触を判断すれば解決する、とイベントを作ってみたのですが、それだけだとすり抜け床の上に乗った時画面がガクガクしてしまいます。
    下判定がすり抜け床に重なった時押し上げる処理と『プレイヤー&Lv』の落下処理がケンカしているのでしょうか?

    下判定と『プレイヤー&Lv』の長さを同じにしました。
    ギガファイル便 すり抜け床についての質問2
    https://37.gigafile.nu/1004-kbff89f14585d92f8c249b87b109d1dd7

    #33291
    ASD
    キーマスター

    提出されたデータではなく元のサンプルの改変になりますが、すり抜け床がキャラの高さより低くても押し上げ処理が発生しないようにしました。
    また、すり抜け床に立った時に別のすり抜け床に接触していても押し上げられないようにもしています。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2019/09/cf25_blog_2019-09-21_横ACTで降りられる床改.zip

    #33297
    daifuku
    参加者

    サンプルありがとうございます。
    見様見真似で改修してみた所、未だにすり抜け床と接触すると乗り上げる時があります。
    すり抜け床にジャンプして乗らないまま、すり抜け床と接触する際はそのまま通過できるのですが、一度でもすり抜け床の上に乗り、また降りた後本体とすり抜け床が接触すると移動で乗り上げてしまいます。
    ではサンプルはどうかとサンプルのすり抜け床の位置も変更してみると、サンプルも同じ用に本体と接触して乗り上げるようです。

    ギガファイル便 すり抜け床についての質問3
    https://17.gigafile.nu/0930-fc22addf6d8ce24287e2ae90039c8e8d3

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

    下降操作ではなく、端から落ちると、着地フラグがOFFにならず、押し上げ動作が継続するため乗り上げていました。
    修正いたしました。いかがでしょうか。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2019/09/cf25_blog_2019-09-24_横ACTで降りられる床改2.zip

    #33301
    daifuku
    参加者

    同じように作ってみた所、右移動時はサンプル通り乗り上げる事態は発生しなくなりました。
    ただ、左移動時のみすり抜け床の連結部分で落下してしまいます。押し上げる部分の「すり抜け床の固定値=val_A_降りられる床の固定値」の条件を外すと発生しないので、左移動時のみ上記の条件と固定値が異なる事態が発生し、それが原因で落下していると考えたのですが合っているでしょうか?
    しかしながら見たの上では下判定がすり抜け床に完全に重なっており、条件と異なってしまう原因がわかりません。これはサンプル上では発生しませんでした。

    すり抜け床についての質問4
    https://37.gigafile.nu/1008-h2997a1a645b5b968a271f59900d47754

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

    勝手ながらサンプルの方を改造し、こちらに近い状況を再現した所同様の現象が発生しました。
    ただサンプルの場合ですと逆に右移動時のみすり抜け床の連結部分で落下します。
    変更箇所は本体と足元判定です。
    足元判定の大きさは2フレーム目で1pxにしフレームを固定、イベントで本体のスケールと同じ大きさになるよう作っているのですが、これが原因でしょうか。

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

    修正しました。判定の位置は『本体と重複し、且つ少しはみ出す位置』に設定して下さい。これは本体・判定共に床との衝突処理があるため、本体と判定を重複する位置にしなければ『本体・判定両方が床に接触している』という状況にならないためです。

    判定の縦サイズは『キャラの落下時の移動量のドット数以上にする』のが基準です。それよりも小さいと判定が触れず抜けてしまう場合があります。

    横サイズは本体よりも少し小さめにしています。こうしないとすり抜け床の連結部を通った時に一瞬ガタつき(落下動作)が発生したためです。

    – サンプルプログラム
    https://blog.clickteam.jp/wp-content/uploads/2019/09/cf25_blog_2019-09-29_横ACTで降りられる床改3.zip

    #33315
    daifuku
    参加者

    解決しました、ありがとうございます。

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