| 
 
| 赞 | 24 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 31 |  
| 经验 | 0 |  
| 最后登录 | 2024-2-29 |  
| 在线时间 | 800 小时 |  
 Lv3.寻梦者 
	梦石0 星屑3050 在线时间800 小时注册时间2020-1-24帖子257 | 
| 
使用这个脚本之后,打开菜单,没问题,就是一旦关闭菜单,就会突然把已经放大的地图再次放大,这种状况持续2秒左右。
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  感觉特别不舒服,要如何解决这个问题?T T这个问题困扰我很久了!球大神解答啊啊啊!!!
 脚本在此:
 #==============================================================================
 # ■ 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
 | 
 |