| 赞 | 1 |
| VIP | |
| 好人卡 | |
| 积分 | 4 |
| 经验 | |
| 最后登录 | 2025-6-4 |
| 在线时间 | 53 小时 |
- 梦石
- 0
- 星屑
- 404
- 在线时间
- 53 小时
- 注册时间
- 2016-1-6
- 回帖
- 20
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 ZodiacS 于 2019-2-1 03:12 编辑
有一些需要,就按照教程通过dll改了分辨率为1024*768。
但是随之而来的问题就是分辨率变大,角色视野也变得太大,导致一些剧情事件处理的时候容易穿帮……
所以想通过缩放地图来限制主角视野(只放大地图,不放大窗口和菜单)
搜了下本站找到了这个脚本,但是会报错
[pre lang="ruby"]#==============================================================================
# ■ 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 ||= 150
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[/pre]
javascript:;
报错行数45行
想请问解决方法,或者如果有更好的脚本也行
烦请各位大佬指教 |
-
|