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

Project1

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

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

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

跳转到指定楼层
1
发表于 2017-1-15 00:33:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 弹性滚动地图 V 1.00 BY SLICK
  3. #------------------------------------------------------------------------------
  4. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
  5. # 本类的实例请参考 $game_player。
  6. # 我:。。。这个黄金版已经被改的面目全非了
  7. #==============================================================================
  8.  
  9.  
  10. class Game_Player < Game_Character
  11.   MOVESPEA = 0.265625#这数值。。。囧
  12.   def update_scroll(last_real_x, last_real_y)
  13.     ax1 = $game_map.adjust_x(last_real_x)
  14.     ay1 = $game_map.adjust_y(last_real_y)
  15.     ax2 = $game_map.adjust_x(@real_x)
  16.     ay2 = $game_map.adjust_y(@real_y)
  17.     movespeb = (2 ** (@move_speed+1))*MOVESPEA
  18.     movesped = movespeb / Graphics.width
  19.     movespec = movespeb / Graphics.height
  20.     tmp=center_x-ax2
  21.     $game_map.scroll_left(movesped*tmp) if tmp>0
  22.     $game_map.scroll_right(-movesped*tmp) if tmp<0
  23.     tmp=center_y-ay2
  24.     $game_map.scroll_up(movespec*tmp) if tmp>0
  25.     $game_map.scroll_down(-movespec*tmp) if tmp<0   
  26.   end  
  27. end


Lv6.析梦学徒

老鹰

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

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

2
发表于 2017-1-15 11:11:08 | 只看该作者
这个脚本比较简洁,可以直接改为用开关控制

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

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 弹性滚动地图 V 1.00 BY SLICK
  3. #------------------------------------------------------------------------------
  4. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
  5. # 本类的实例请参考 $game_player。
  6. # 我:。。。这个黄金版已经被改的面目全非了
  7. #==============================================================================
  8.  
  9.  
  10. class Game_Player < Game_Character
  11.  
  12.   #此处更改控制地图移动方式的开关的ID
  13.   #  - 当该序号的开关开启时,为默认地图移动方式
  14.   #  - 当该序号的开关关闭时,为弹性滚动(注意:若主角不为画面中心,则地图画面会自动归位为主角中心)
  15.   S_ID = 10
  16.  
  17.   MOVESPEA = 0.265625#这数值。。。囧
  18.  
  19.   alias eagle_update_scroll_move_map update_scroll
  20.   def update_scroll(last_real_x, last_real_y)
  21.     if($game_switches[S_ID])
  22.       eagle_update_scroll_move_map(last_real_x, last_real_y)
  23.       return
  24.     end
  25.     ax1 = $game_map.adjust_x(last_real_x)
  26.     ay1 = $game_map.adjust_y(last_real_y)
  27.     ax2 = $game_map.adjust_x(@real_x)
  28.     ay2 = $game_map.adjust_y(@real_y)
  29.     movespeb = (2 ** (@move_speed+1))*MOVESPEA
  30.     movesped = movespeb / Graphics.width
  31.     movespec = movespeb / Graphics.height
  32.     tmp=center_x-ax2
  33.     $game_map.scroll_left(movesped*tmp) if tmp>0
  34.     $game_map.scroll_right(-movesped*tmp) if tmp<0
  35.     tmp=center_y-ay2
  36.     $game_map.scroll_up(movespec*tmp) if tmp>0
  37.     $game_map.scroll_down(-movespec*tmp) if tmp<0   
  38.   end  
  39.  
  40. end

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

3
 楼主| 发表于 2017-1-15 11:32:41 | 只看该作者
@百里_飞柳
已解决,相当有效,非常感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 03:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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