查看: 2494|回复: 2

[已经解决] [已解决]]怎么在游戏中设置某个脚本有效和无效

[复制链接]
梦石
0
星屑
7650
在线时间
1162 小时
注册时间
2016-9-10
回帖
145

开拓者

发表于 2017-1-15 00:33:00 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 devil033 于 2017-1-15 11:33 编辑

这是一个移动美化脚本,但这个脚本和软件自带的 卷动地图 功能冲突,也就是用了这个脚本后,卷动地图 功能就用不了了
所以想在特定的场景或时间,把这个脚本无效化,等过了这个场景或时间点,再又把这个脚本有效化,这要怎么改?然后怎么使用?

[pre lang="ruby"]
#==============================================================================
# ■ 弹性滚动地图 V 1.00 BY SLICK
#------------------------------------------------------------------------------
#  处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
# 我:。。。这个黄金版已经被改的面目全非了
#==============================================================================


class Game_Player < Game_Character
  MOVESPEA = 0.265625#这数值。。。囧
  def update_scroll(last_real_x, last_real_y)
    ax1 = $game_map.adjust_x(last_real_x)
    ay1 = $game_map.adjust_y(last_real_y)
    ax2 = $game_map.adjust_x(@real_x)
    ay2 = $game_map.adjust_y(@real_y)
    movespeb = (2 ** (@move_speed+1))*MOVESPEA
    movesped = movespeb / Graphics.width
    movespec = movespeb / Graphics.height
    tmp=center_x-ax2
    $game_map.scroll_left(movesped*tmp) if tmp>0
    $game_map.scroll_right(-movesped*tmp) if tmp<0
    tmp=center_y-ay2
    $game_map.scroll_up(movespec*tmp) if tmp>0
    $game_map.scroll_down(-movespec*tmp) if tmp<0   
  end  
end

[/pre]

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

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

发表于 2017-1-15 11:11:08 | 显示全部楼层
这个脚本比较简洁,可以直接改为用开关控制

不过要注意的一点是,弹性地图滚动时,会自动将主角归位为画面中心,所以这才出现了你的地图移动无效bug
如果需要修复这个bug请去找原作者,可能该精简版删去了对应的bug修复处理。

[pre lang="ruby"]#==============================================================================
# ■ 弹性滚动地图 V 1.00 BY SLICK
#------------------------------------------------------------------------------
#  处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
# 我:。。。这个黄金版已经被改的面目全非了
#==============================================================================


class Game_Player < Game_Character
  
  #此处更改控制地图移动方式的开关的ID
  #  - 当该序号的开关开启时,为默认地图移动方式
  #  - 当该序号的开关关闭时,为弹性滚动(注意:若主角不为画面中心,则地图画面会自动归位为主角中心)
  S_ID = 10
  
  MOVESPEA = 0.265625#这数值。。。囧
  
  alias eagle_update_scroll_move_map update_scroll
  def update_scroll(last_real_x, last_real_y)
    if($game_switches[S_ID])
      eagle_update_scroll_move_map(last_real_x, last_real_y)
      return
    end
    ax1 = $game_map.adjust_x(last_real_x)
    ay1 = $game_map.adjust_y(last_real_y)
    ax2 = $game_map.adjust_x(@real_x)
    ay2 = $game_map.adjust_y(@real_y)
    movespeb = (2 ** (@move_speed+1))*MOVESPEA
    movesped = movespeb / Graphics.width
    movespec = movespeb / Graphics.height
    tmp=center_x-ax2
    $game_map.scroll_left(movesped*tmp) if tmp>0
    $game_map.scroll_right(-movesped*tmp) if tmp<0
    tmp=center_y-ay2
    $game_map.scroll_up(movespec*tmp) if tmp>0
    $game_map.scroll_down(-movespec*tmp) if tmp<0   
  end  

end[/pre]

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
7650
在线时间
1162 小时
注册时间
2016-9-10
回帖
145

开拓者

 楼主| 发表于 2017-1-15 11:32:41 | 显示全部楼层
@百里_飞柳
已解决,相当有效,非常感谢
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部