#__END__ #============================================================================== # ★ ミラームーブ ver1.0 by USK #------------------------------------------------------------------------------ # ・プレイヤーの動きを真似するイベントを設定します #============================================================================== =begin ・イベントの移動ルートをカスタムにし、移動ルート「スクリプト」にcopyと記述すると  プレイヤーが右に動けば右、上に動けば上というように動きを真似するようになります ・同様に、移動ルート「スクリプト」にmirrorと記述すると  プレイヤーが右に動けば左、上に動けば下というように反対に動くようになります ・同様に、移動ルート「スクリプト」にmirror_vと記述すると  プレイヤーが右に動けば右、上に動けば下というように縦だけ反対に動くようになります ・同様に、移動ルート「スクリプト」にmirror_hと記述すると  プレイヤーが右に動けば左、上に動けば上というように横だけ反対に動くようになります =end #============================================================================== # ■ Game_Temp #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def move_bk(count) return 0 if count == @move_bk_count @move_bk || 0 end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def move_bk=(d) @move_bk_count = Graphics.frame_count @move_bk = d end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def move_bk_count @move_bk_count || 0 end end #============================================================================== # ■ Game_Player #============================================================================== class Game_Player #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def copy end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def mirror end #-------------------------------------------------------------------------- # ● まっすぐに移動 #-------------------------------------------------------------------------- alias :usk_mm_move_straight :move_straight def move_straight(d, turn_ok = true) usk_mm_move_straight(d, turn_ok) $game_temp.move_bk = d end #-------------------------------------------------------------------------- # ● 斜めに移動 #-------------------------------------------------------------------------- alias :usk_mm_move_diagonal :move_diagonal def move_diagonal(horz, vert) usk_mm_move_diagonal(horz, vert) $game_temp.move_bk = -horz * vert end end #============================================================================== # ■ Game_Event #============================================================================== class Game_Event #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def copy case d = $game_temp.move_bk(@move_bk_count) when 2,4,6,8 move_straight(d, true) when -8 move_diagonal(4, 2) when -12 move_diagonal(6, 2) when -32 move_diagonal(4, 8) when -48 move_diagonal(6, 8) else return end @move_bk_count = $game_temp.move_bk_count end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def mirror case d = $game_temp.move_bk(@move_bk_count) when 2,4,6,8 move_straight(10 - d, true) when -8 move_diagonal(6, 8) when -12 move_diagonal(4, 8) when -32 move_diagonal(6, 2) when -48 move_diagonal(4, 2) else return end @move_bk_count = $game_temp.move_bk_count end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def mirror_v case d = $game_temp.move_bk(@move_bk_count) when 2,8 move_straight(10 - d, true) when 4,6 move_straight(d, true) when -8 move_diagonal(6, 8) when -12 move_diagonal(4, 8) when -32 move_diagonal(6, 2) when -48 move_diagonal(4, 2) else return end @move_bk_count = $game_temp.move_bk_count end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def mirror_h case d = $game_temp.move_bk(@move_bk_count) when 2,8 move_straight(d, true) when 4,6 move_straight(10 - d, true) when -8 move_diagonal(6, 8) when -12 move_diagonal(4, 8) when -32 move_diagonal(6, 2) when -48 move_diagonal(4, 2) else return end @move_bk_count = $game_temp.move_bk_count end end