1405920931161.jpg (31.1 KB, 下载次数: 32)
1405920993584.jpg (55.38 KB, 下载次数: 18)
#============================================================================== # ■ RGSS3 マップズーム Ver1.00 by 星潟 # ■ RGSS3 地图缩放 Ver1.00 by 星潟 翻译:戏蹑群星斗 #------------------------------------------------------------------------------ #地图缩放。就是这样。 #由于缩放状态保存的数据将被保留(就是存档会保留缩放)。请注意 #============================================================================== # 使用事件命令的脚本。 #------------------------------------------------------------------------------ # map_zoom(150) # # 在这种情况下,它会放大到150%。 #------------------------------------------------------------------------------ # map_zoom(300) # # 在这种情况下,它会放大到300%。 #------------------------------------------------------------------------------ # map_zoom # # 在这种情况下,放大解除。 #============================================================================== # 100未満のズーム(縮小)や2000%を超えるのズームには制限をかけてあります。 # 因此,100是最小值,最大值2000。 #============================================================================== class Game_System attr_accessor :zoom_mode #-------------------------------------------------------------------------- # ズームモード #-------------------------------------------------------------------------- def zoom_mode @zoom_mode ||= 100 end end class Spriteset_Map #-------------------------------------------------------------------------- # ビューポートの作成 #-------------------------------------------------------------------------- alias create_viewports_zoommap create_viewports def create_viewports create_viewports_zoommap @zoommap = ZoomMap.new(@viewport1,@viewport2) end #-------------------------------------------------------------------------- # 更新処理 #-------------------------------------------------------------------------- alias update_zoommap update def update @zoommap.update update_zoommap end #-------------------------------------------------------------------------- # 解放処理 #-------------------------------------------------------------------------- alias dispose_zoommap dispose def dispose @zoommap.dispose dispose_zoommap end end class ZoomMap < Sprite_Base #-------------------------------------------------------------------------- # 初期化 #-------------------------------------------------------------------------- def initialize(v1,v2) super(v2) @viewport_data = v1 @zoom_rate = $game_system.zoom_mode @zoom_bitmap = nil end #-------------------------------------------------------------------------- # 解放 #-------------------------------------------------------------------------- def dispose @zoom_bitmap.dispose if @zoom_bitmap && !@zoom_bitmap.disposed? super end #-------------------------------------------------------------------------- # 更新処理 #-------------------------------------------------------------------------- def update self.visible = @zoom_rate != 100 @zoom_bitmap.dispose if @zoom_bitmap && !@zoom_bitmap.disposed? if $game_system.zoom_mode != 100 or @zoom_rate != 100 if @zoom_rate != $game_system.zoom_mode d = (@zoom_rate - $game_system.zoom_mode).to_i case d when 0..9;i = 1 when 10..99;i = 2 when 100..999;i = 3 else; i = 4 end @zoom_rate += (@zoom_rate < $game_system.zoom_mode) ? i : -i end zm = @zoom_rate.to_f / 100 @viewport_data.z += 10000000 @zoom_bitmap = Graphics.snap_to_bitmap self.bitmap = @zoom_bitmap w = self.bitmap.width h =self.bitmap.height self.ox = [[0,((w * zm / 2) - w / 2) / zm + (($game_player.screen_x - w / 2).to_f)].max,(w * zm - w) / zm].min self.oy = [[0,((h * zm / 2) - h / 2) / zm + (($game_player.screen_y - 16 - h / 2).to_f)].max,(h * zm - h) / zm].min self.zoom_x = zm self.zoom_y = zm self.visible = true @viewport_data.z -= 10000000 end super end end class Game_Interpreter #-------------------------------------------------------------------------- # ズーム #-------------------------------------------------------------------------- def map_zoom(rate = 100) $game_system.zoom_mode = [[rate,100].max,2000].min end end
Arfies 发表于 2019-7-27 11:47
因为版本不一样,这个Mogeko好像是2K系列制作的,具体是2000还是2003没玩过所以不太清楚,但是本质上是320x ...
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |