使い方はdmod//player_patchをダウンロードして、 コメントしてある4つのブロックをプレイヤーに入れて プレイヤー例のようになるようにしてください。 3.0.1更新内容 shiftだけでなく\も対応
・修正内容 1fジャンプが2f分の大きさになるバグの改善と 本来なら検出されるはずの一瞬のshift反応しないバグ の修正 起きる原因 1fジャンプが2f分の大きさになる理由として gm (GameMaker) では keyboard_check_directと keyboard_check_pressedと keyboard_check_releasedという 大まかに3つの入力取得関数があります。 directは押してる間は真になる pressedは押した瞬間1fの間のみ真になる releasedは離した瞬間の1fの間のみ真になる pressedとreleasedが同時押しされても2つの関数で 別々で真偽判定が出来る為1fジャンプが出来ます。 しかし、scratchには○○キーが押されたときのみなので 離されたときという専用の関数のようなものがなく、 if (shift_last && !check(shift)) (もしキーが前回押されて今回押されてないのなら) このような条件分岐でreleasedを自作するしかないのです。 しかしreleasedを取得するためには最低でも 前回のフレームと今回のフレームの2f分が必要です。 2f分必要だと次のような問題が起きます。 gmでは1fジャンプをした時に 1f目 pressed : true released : true 2f目 pressed : false released : false になるはずが scratchだと 1f目 pressed : true released : false 2f目 pressed : false released : true このようになってしまい released (減速するタイミング)がどう足掻いても 1f遅れてしまい、2f分のジャンプが出てしまいます。