#============================================================================== # ■ RGSS3 斜めマップスクロール・マップフォーカス # 即時スクロール解除 Ver1.00a by 星潟 #------------------------------------------------------------------------------ # 斜め方向へのスクロールや、一瞬で指定座標にスクロールしたり # スクロール状態の解除を行える機能を追加します。 # 特定の表現を行う時に便利かもしれません。 # また、超高速スクロールの方法も同時に記載しております。 #------------------------------------------------------------------------------ # ★設定方法(全てイベントコマンドのスクリプトを使用し、2行で記述します) #------------------------------------------------------------------------------ # @params = [1,3,5] # command_204 # # 左下方向に3、速度5のスクロールを行います。 #------------------------------------------------------------------------------ # @params = [2,3,8] # command_204 # # 下方向に3、速度8のスクロールを行います。 #------------------------------------------------------------------------------ # @params = [3,5,4] # command_204 # # 右下方向に5、速度4のスクロールを行います。 #------------------------------------------------------------------------------ # @params = [4,20,10] # command_204 # # 左方向に20、速度10のスクロールを行います。(肉眼で捉える事は極めて困難です) #------------------------------------------------------------------------------ # @params = [6,30,12] # command_204 # # 右方向に30、速度12のスクロールを行います。(肉眼で捉える事はほぼ不可能です) #------------------------------------------------------------------------------ # @params = [7,6,3] # command_204 # # 左上方向に6、速度3のスクロールを行います。 #------------------------------------------------------------------------------ # @params = [8,15,12] # command_204 # # 上方向に15、速度12のスクロールを行います。(肉眼で捉える事はほぼ不可能です) #------------------------------------------------------------------------------ # @params = [9,7,2] # command_204 # # 右上方向に7、速度2のスクロールを行います。 #------------------------------------------------------------------------------ # @params = [5,2,4] # command_204 # # マップ上のX座標2、Y座標4の場所が中心となる位置に # フォーカスを合わせます。(即時スクロール) #------------------------------------------------------------------------------ # @params = [0,0,0] # command_204 # # スクロールを強制解除し、基本的にプレイヤーが中心となる通常の状態に戻します。 # ([0,0,0]の最初の部分が0であれば、2番目や3番目の数値は完全に無視されます。 # [0,0,0]ではなく[0]でも動作しますが # 競合対策としての書き方で[0,0,0]としています) #============================================================================== class Game_Map #-------------------------------------------------------------------------- # スクロールの開始 #-------------------------------------------------------------------------- alias start_scroll_diagonal start_scroll def start_scroll(direction, distance, speed) case direction when 0 $game_player.center($game_player.x, $game_player.y) when 5 $game_player.center(distance, speed) else start_scroll_diagonal(direction, distance, speed) end end def quick_scroll(x,y) @display_x += 32 * x @display_y += 32 * y end #-------------------------------------------------------------------------- # スクロールの実行 #-------------------------------------------------------------------------- alias do_scroll_diagonal do_scroll def do_scroll(direction, distance) do_scroll_diagonal(direction, distance) case direction when 1;scroll_down (distance);scroll_left (distance) when 3;scroll_down (distance);scroll_right(distance) when 7;scroll_up (distance);scroll_left (distance) when 9;scroll_up (distance);scroll_right(distance) end end end