设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3035|回复: 12
打印 上一主题 下一主题

[已经解决] 关于地图放大脚本的错误

[复制链接]

Lv4.逐梦者

梦石
0
星屑
4981
在线时间
989 小时
注册时间
2017-12-30
帖子
51
跳转到指定楼层
1
发表于 2019-7-5 03:38:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 空调虎 于 2019-7-6 15:54 编辑

请问有办法解决这个地图放大脚本在我关闭菜单画面时会突然放大一下的效果吗?gif图上为已经使用这个脚本放大为150%的画面,因为我想在游戏中全程使用这个150%的画面,所以希望能正常的让菜单消失。或者有什么别的放大画面的脚本呢。

*发现不使用RGD后就不会有这个问题了,但是原来的game.exe放大很卡

RUBY 代码复制
  1. #==============================================================================
  2. # ■ RGSS3 地图缩放 Ver1.00 by 星潟
  3. #------------------------------------------------------------------------------
  4. # 和标题一样,可以缩放地图。
  5. # 注意,地图缩放状态会存储于存档数据文件中。
  6. #==============================================================================
  7. # 使用脚本:
  8. #------------------------------------------------------------------------------
  9. # map_zoom(150)
  10. #
  11. # 地图大小变为150%。
  12. #------------------------------------------------------------------------------
  13. # map_zoom(300)
  14. #
  15. # 地图大小变为300%。
  16. #------------------------------------------------------------------------------
  17. # map_zoom
  18. #
  19. # 地图大小重置。
  20. #==============================================================================
  21. # 缩放不能小于100%,也不能大于2000%。
  22. # 因此、100为最小值、2000为最大值。
  23. #==============================================================================
  24. class Game_System
  25.   attr_accessor :zoom_mode
  26.   #--------------------------------------------------------------------------
  27.   # ズームモード
  28.   #--------------------------------------------------------------------------
  29.   def zoom_mode
  30.     @zoom_mode ||= 100
  31.   end
  32. end
  33. class Spriteset_Map
  34.   #--------------------------------------------------------------------------
  35.   # ビューポートの作成
  36.   #--------------------------------------------------------------------------
  37.   alias create_viewports_zoommap create_viewports
  38.   def create_viewports
  39.     create_viewports_zoommap
  40.     @zoommap = ZoomMap.new(@viewport1,@viewport2)
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # 更新処理
  44.   #--------------------------------------------------------------------------
  45.   alias update_zoommap update
  46.   def update
  47.     @zoommap.update
  48.     update_zoommap
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # 解放処理
  52.   #--------------------------------------------------------------------------
  53.   alias dispose_zoommap dispose
  54.   def dispose
  55.     @zoommap.dispose
  56.     dispose_zoommap
  57.   end
  58. end
  59. class ZoomMap < Sprite_Base
  60.   #--------------------------------------------------------------------------
  61.   # 初期化
  62.   #--------------------------------------------------------------------------
  63.   def initialize(v1,v2)
  64.     super(v2)
  65.     @viewport_data = v1
  66.     @zoom_rate = $game_system.zoom_mode
  67.     @zoom_bitmap = nil
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # 解放
  71.   #--------------------------------------------------------------------------
  72.   def dispose
  73.     @zoom_bitmap.dispose if @zoom_bitmap && !@zoom_bitmap.disposed?
  74.     super
  75.   end
  76.   #--------------------------------------------------------------------------
  77.   # 更新処理
  78.   #--------------------------------------------------------------------------
  79.   def update
  80.     self.visible = @zoom_rate != 100
  81.     @zoom_bitmap.dispose if @zoom_bitmap && !@zoom_bitmap.disposed?
  82.     if $game_system.zoom_mode != 100 or @zoom_rate != 100
  83.       if @zoom_rate != $game_system.zoom_mode
  84.         d = (@zoom_rate - $game_system.zoom_mode).to_i
  85.         case d
  86.         when 0..9;i = 1
  87.         when 10..99;i = 2
  88.         when 100..999;i = 3
  89.         else; i = 4
  90.         end
  91.         @zoom_rate += (@zoom_rate < $game_system.zoom_mode) ? i : -i
  92.       end
  93.       zm = @zoom_rate.to_f / 100
  94.       @viewport_data.z += 10000000
  95.       @zoom_bitmap = Graphics.snap_to_bitmap
  96.       self.bitmap = @zoom_bitmap
  97.       w = self.bitmap.width
  98.       h =self.bitmap.height
  99.       self.ox = [[0,((w * zm / 2) - w / 2) / zm + (($game_player.screen_x - w / 2).to_f)].max,(w * zm - w) / zm].min
  100.       self.oy = [[0,((h * zm / 2) - h / 2) / zm + (($game_player.screen_y - 16 - h / 2).to_f)].max,(h * zm - h) / zm].min
  101.       self.zoom_x = zm
  102.       self.zoom_y = zm
  103.       self.visible = true
  104.       @viewport_data.z -= 10000000
  105.     end
  106.     super
  107.   end
  108. end
  109. class Game_Interpreter
  110.   #--------------------------------------------------------------------------
  111.   # ズーム
  112.   #--------------------------------------------------------------------------
  113.   def map_zoom(rate = 100)
  114.     $game_system.zoom_mode = [[rate,100].max,2000].min
  115.   end
  116. end

Lv4.逐梦者

梦石
0
星屑
6757
在线时间
593 小时
注册时间
2017-11-10
帖子
688

极短21参与

2
发表于 2019-7-5 08:02:51 | 只看该作者
用排除法呀,一个个脚本拿掉实验。
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

3
发表于 2019-7-5 09:35:29 | 只看该作者
默认菜单没有问题吗?
是否在菜单打开前调用了地图缩放?
但是看gif中,似乎根本和它无关了一样(gif图中的 $game_system.zoom_mode 的值是多少?)
以及这个地图放大……居然是每一帧截图放大再显示???
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
4981
在线时间
989 小时
注册时间
2017-12-30
帖子
51
4
 楼主| 发表于 2019-7-5 12:47:49 | 只看该作者
百里_飞柳 发表于 2019-7-5 09:35
默认菜单没有问题吗?
是否在菜单打开前调用了地图缩放?
但是看gif中,似乎根本和它无关了一样(gif图中的 ...

试了一下默认菜单也会这样,打开前我是放大画面到150%,开新工程试了一下好像也不是因为我分辨率调成800*600的原因。
$game_system.zoom_mode我没改过,就是默认的那样。

点评

其实我不确定,你这个回弹的结果是放缩多少时的?菜单关闭后那个放缩比例你复原了吗?gif里回弹后的才是150%缩放?  发表于 2019-7-5 14:42
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
4981
在线时间
989 小时
注册时间
2017-12-30
帖子
51
5
 楼主| 发表于 2019-7-5 14:59:13 | 只看该作者
百里_飞柳 发表于 2019-7-5 09:35
默认菜单没有问题吗?
是否在菜单打开前调用了地图缩放?
但是看gif中,似乎根本和它无关了一样(gif图中的 ...

哦哦不好意思是我形容的有问题,说是回弹,其实是会在关闭菜单的时候画面会突然放大一下再关闭(gif上那样),很别扭,我希望能自然得关闭菜单,因为我的游戏想要全程使用这个150%的画面。这个问题就是在画面已经放大(150%)的情况下出现的,不使用脚本改变画面的话不会有这个问题。

点评

那么那个突兀的放大,是什么倍率的?也是150%吗?还是突然冒出的比150%更大的倍率  发表于 2019-7-5 17:51
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
4981
在线时间
989 小时
注册时间
2017-12-30
帖子
51
6
 楼主| 发表于 2019-7-5 19:07:50 | 只看该作者
百里_飞柳 发表于 2019-7-5 09:35
默认菜单没有问题吗?
是否在菜单打开前调用了地图缩放?
但是看gif中,似乎根本和它无关了一样(gif图中的 ...

这个放大的倍率我就看不出了,然后我重新录了一个gif,先是用物品的公共事件打开图片然后关闭变大,之后是打开主菜单然后关闭变大。(由二级菜单转到主菜单时不会变大)
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9677
在线时间
570 小时
注册时间
2017-9-28
帖子
208
7
发表于 2019-7-6 07:19:37 | 只看该作者
本帖最后由 hyrious 于 2019-7-6 07:45 编辑

我用默认菜单跑了一下貌似没问题(

查了一下也不是 VXAce_SP1 里修复的内容,所以
应该是跟你的自定义菜单冲突了……


绝 liao,我去整了一份葱菜单,结果也还是没问题(截图位置不准之类的先不管)

点评

感谢, 麻烦了XDD  发表于 2019-7-6 08:09
喵喵喵
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42355
在线时间
7599 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

8
发表于 2019-7-6 07:40:03 | 只看该作者
看起来使用的是RGD,试试更新到最新版RGD启动程序试试,之前有一个版本修复了snap_to_bitmap与RGSS不一致的问题

评分

参与人数 1+1 收起 理由
hyrious + 1 我没想到

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
4981
在线时间
989 小时
注册时间
2017-12-30
帖子
51
9
 楼主| 发表于 2019-7-6 08:07:09 | 只看该作者
本帖最后由 空调虎 于 2019-7-6 08:16 编辑
fux2 发表于 2019-7-6 07:40
看起来使用的是RGD,试试更新到最新版RGD启动程序试试,之前有一个版本修复了snap_to_bitmap与RGSS不一致的 ...


感谢,最新是网站上的1.3.2的吧?我刚才开了个新工程发现默认的确实可以用(之前应该是图标没变导致我以为没更换RGD),替换为RGD后反而开始出问题了(放大)。
然后我把新工程的game.exe替换上去,也算解决了这个问题了

点评

就是不用RGD好卡啊。。。  发表于 2019-7-6 08:09
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 18:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表