赞 | 4 |
VIP | 211 |
好人卡 | 175 |
积分 | 7 |
经验 | 48096 |
最后登录 | 2014-1-9 |
在线时间 | 1327 小时 |
Lv2.观梦者 (?????)
- 梦石
- 0
- 星屑
- 728
- 在线时间
- 1327 小时
- 注册时间
- 2011-7-18
- 帖子
- 3184
|
本帖最后由 各种压力的猫君 于 2011-12-30 14:18 编辑
$game_variables[变量编号]
其实要突破50我推荐另一种方法:
首先对事件解释器显示图片的部分稍做修改:
Interpreter 5 约276-296行- #--------------------------------------------------------------------------
- # ● 显示图片
- #--------------------------------------------------------------------------
- def command_231
- # 获取图片编号
- number = @parameters[0] + ($game_temp.in_battle ? 50 : 0)
- # 指定方法为 [直接指定] 的情况下
- if @parameters[3] == 0
- x = @parameters[4]
- y = @parameters[5]
- # 指定方法为 [使用变量指定] 的情况下
- else
- x = $game_variables[@parameters[4]]
- y = $game_variables[@parameters[5]]
- end
- # 显示图片
- $game_screen.pictures[number].show(@parameters[1], @parameters[2],
- x, y, @parameters[6], @parameters[7], @parameters[8], @parameters[9])
- # 继续
- return true
- end
复制代码 修改为:- #--------------------------------------------------------------------------
- # ● 显示图片
- #--------------------------------------------------------------------------
- def command_231
- #------------------------------------------------------------------------
- # 若事件指定的图片编号不超过50,则将99号变量赋为事件指定值
- $game_variables[99] = @parameters[0] if @parameters[0] <= 50
- # 使用99号变量指定图片编号(这里战斗中的图片编号统一 + 50)
- number = $game_variables[99] + ($game_temp.in_battle ? 50 : 0)
- #------------------------------------------------------------------------
- # 指定方法为 [直接指定] 的情况下
- if @parameters[3] == 0
- x = @parameters[4]
- y = @parameters[5]
- # 指定方法为 [使用变量指定] 的情况下
- else
- x = $game_variables[@parameters[4]]
- y = $game_variables[@parameters[5]]
- end
- # 显示图片
- $game_screen.pictures[number].show(@parameters[1], @parameters[2],
- x, y, @parameters[6], @parameters[7], @parameters[8], @parameters[9])
- # 继续
- return true
- end
复制代码 需要超过50的编号的时候就先给99号变量赋想要的编号值,
然后用事件显示图片50号就行了。(第9行方括号里的数字就是变量编号了,可以自己修改。) (估计突破50上限的方法你已经知道了,但是为了其他人搜索方便我还是再啰嗦一下)
Spriteset_Map 约43-48行- # 生成图片
- @picture_sprites = []
- for i in 1..50
- @picture_sprites.push(Sprite_Picture.new(@viewport2,
- $game_screen.pictures[i]))
- end
复制代码 第3行的50和1就是上下限了;
Game_Screen 约138-146行- if $game_temp.in_battle
- for i in 51..100
- @pictures[i].update
- end
- else
- for i in 1..50
- @pictures[i].update
- end
- end
复制代码 第2行的51..100是战斗中刷新的图片范围,
第6行的1..50是平时刷新的范围;
还有就是一开始修改后的事件解释器脚本中的- number = $game_variables[99] + ($game_temp.in_battle ? 50 : 0)
复制代码 其中的50是战斗中图片编号增加的量。
以上3个值修改时要注意不要矛盾了。 |
评分
-
查看全部评分
|