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

Project1

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

[已经过期] 星潟的地图缩放脚本与菜单冲突问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3050
在线时间
800 小时
注册时间
2020-1-24
帖子
257
跳转到指定楼层
1
发表于 2020-3-14 17:39:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
使用这个脚本之后,打开菜单,没问题,就是一旦关闭菜单,就会突然把已经放大的地图再次放大,这种状况持续2秒左右。
感觉特别不舒服,要如何解决这个问题?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
《天使華音:交織的旋律》正在製作中!
請到官網了解情況^^:森社官網

Lv3.寻梦者

梦石
0
星屑
3050
在线时间
800 小时
注册时间
2020-1-24
帖子
257
2
 楼主| 发表于 2020-3-14 20:19:16 | 只看该作者
不知道为什么把RGD换了之后好像没有什么问题了
《天使華音:交織的旋律》正在製作中!
請到官網了解情況^^:森社官網
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
7095
在线时间
589 小时
注册时间
2019-9-15
帖子
113

R考场第七期金奖

3
发表于 2020-3-14 21:18:13 | 只看该作者
本帖最后由 Cupidk爱呗茶 于 2020-3-14 21:19 编辑

其实默认VA也有一点BUG的 切换场景后地图也会蜜汁抖动,很鬼畜。只不过RGD更明显
********
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3050
在线时间
800 小时
注册时间
2020-1-24
帖子
257
4
 楼主| 发表于 2020-3-14 22:54:43 | 只看该作者
Cupidk爱呗茶 发表于 2020-3-14 21:18
其实默认VA也有一点BUG的 切换场景后地图也会蜜汁抖动,很鬼畜。只不过RGD更明显 ...

对,真的很鬼畜....
《天使華音:交織的旋律》正在製作中!
請到官網了解情況^^:森社官網
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-24 08:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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