赞 | 12 |
VIP | 54 |
好人卡 | 19 |
积分 | 81 |
经验 | 33991 |
最后登录 | 2020-4-22 |
在线时间 | 334 小时 |
Lv4.逐梦者
- 梦石
- 7
- 星屑
- 1113
- 在线时间
- 334 小时
- 注册时间
- 2008-1-28
- 帖子
- 1566
|
本帖最后由 未命名 于 2013-12-10 22:42 编辑
很容易的,对于纯事件(脚本)A·RPG来说。
首先,我码字先……
1.虽然可以代替,但最好需要这个(XP,要移植VA):- 只需要一行脚本,就可以将独立开关变成我所需要的独立变量:
- Game_SelfSwitches第20行:
- 原文: return @data[key] == true ? true : false
- 改为: return @data[key] == nil ? false : @data[key]
- 即可。
- 之后可以用事件脚本的方式操作独立变量:
- $game_self_switches[[$game_map.map_id, @event_id, "E"]]=4
- $game_self_switches[[$game_map.map_id, @event_id, "E"]]+=5
- 条件分岐:脚本:$game_self_switches[[$game_map.map_id, @event_id, "E"]]==9
- blabla
- 分歧结束
- 几点说明:
- 1. 在将开关当变量操作运算(包括作为条件分歧中的比较)前,需要先进行变量赋值,否则会有FalseClass的NoMethodError
- 2. 但如果是直接当开关操作则不用,比如
- $game_self_switches[[$game_map.map_id, @event_id, "E"]]=!$game_self_switches[[$game_map.map_id, @event_id, "E"]]
- 3. 原来的独立开关逻辑仍然保留,不受任何影响,不过还是建议用到独立变量时,编号从E开始设置比较好
- 4. 注意引用下标的写法,双层方括号,不要写漏了。
- 5. 引用其他事件的独立开关:$game_self_switches[[$game_map.map_id, 那个事件的ID, 开关编号]]
复制代码 2. 在事件中用的脚本:- # 循环全部事件
- $game_map.events.values.each do |event|#VA
- #此处可获取事件各种事件的信息
- #例如event.x获得监测到的事件的地图X坐标。
- #例如 如果事件X=角色X,事件Y=角色Y
- if event.x == $game_player.x and event.y == $game_player.y
- # 如果那个事件的独立开关A打开,则……
- if $game_self_switches[[$game_map.map_id, event.id, "A"]] == true
- ……
- end
- end
复制代码 3.运用独立开关可以判定事件哪个是怪物什么的。
然后赋予什么效果……
啊啊啊啊啊,好麻烦,我直接给范例算了!
VA射击范例(事件脚本).rar
(1.42 MB, 下载次数: 164)
总之实现这个效果对新手是很麻烦的。
子弹显示啊,如果是以前的我,包括数字我都会用图片显示的,脚本的话,要先见窗口,有时间我再发范例吧。你先用图显示片解决吧。 |
评分
-
查看全部评分
|