Project1
标题:
解释器问题太难了
[打印本页]
作者:
kvkv97
时间:
2015-8-15 15:17
标题:
解释器问题太难了
1, Game_Event类里面@list = @page.list,@page是类变量,没赋值不能用, 查了@page,在上面有@page = new_page,可是new_page就不知道它在什么地方被赋值了?
2,Game_Event类里面
def update
super
# 自动启动事件判定
check_event_trigger_auto
# 并行处理有效的情况下
if @interpreter != nil
# 不在执行中的场合的情况下
unless @interpreter.running?
# 设置事件
@interpreter.setup(@list, @event.id)
end
# 更新解释器
@interpreter.update
end
end
复制代码
问题:@interpreter是类变量,可是找不到它在什么地方被赋值了?
3,在clss Interpreter的“显示文章”中:
$game_temp.message_text = @list[@index].parameters[0] + "\n"
复制代码
问题:@list是方法setup(list, event_id)被传递进来的参数list,不知道它是从哪里传递进来的,能否给我指出?
问题:@list[]是数组,@index是什么意思?parameters[0]中的0又是什么意思?
作者:
汪汪
时间:
2015-8-15 15:55
本帖最后由 汪汪 于 2015-8-15 15:57 编辑
使用全局搜索。如果还找不到看说明书。大概是说明书里的地图事件页里
作者:
芯☆淡茹水
时间:
2015-8-15 17:19
new_page 你就不会用搜索么?
如果事件页启动条件达成,设置新的页数为当前达成条件的页数。
# 设置本地变量 new_page
new_page = page
复制代码
@interpreter 同样是搜索
# 目标是 [并行处理] 的情况下
if @trigger == 4
# 生成并行处理用解释器
@interpreter = Interpreter.new
end
复制代码
貌似这个解释器只管并行处理,其它条件触发用的是地图场景或战斗场景解释器。
list 在 Interpreter 的 设置启动中事件 def setup_starting_event 里面有传递:
# 循环 (地图事件)
for event in $game_map.events.values
# 如果找到了启动中的事件
if event.starting
# 如果不是自动执行
if event.trigger < 3
# 清除启动中标志
event.clear_starting
# 锁定
event.lock
end
# 设置事件
setup(event.list, event.id)
return
end
end
复制代码
@index 是事件内容 @list 的索引 ,执行完一项内容后, @index += 1 ,依此来判断事件内容执行到什么地方了。
parameters[0] 中的 0 同样是索引。事件编辑时的各种输入框里的内容,依顺序保存在对应的 parameters 数组里,
使用时按照索引调用相应的内容。
作者:
芯☆淡茹水
时间:
2015-8-15 20:06
至于事件页的模块,那就只能看F1里的 RPG数据结构 了
比如 事件->事件页
module RPG
class Event
class Page
def initialize
@condition = RPG::Event::Page::Condition.new
@graphic = RPG::Event::Page::Graphic.new
@move_type = 0
@move_speed = 3
@move_frequency = 3
@move_route = RPG::MoveRoute.new
@walk_anime = true
@step_anime = false
@direction_fix = false
@through = false
@always_on_top = false
@trigger = 0
@list = [RPG::EventCommand.new]
end
attr_accessor :condition
attr_accessor :graphic
attr_accessor :move_type
attr_accessor :move_speed
attr_accessor :move_frequency
attr_accessor :move_route
attr_accessor :walk_anime
attr_accessor :step_anime
attr_accessor :direction_fix
attr_accessor :through
attr_accessor :always_on_top
attr_accessor :trigger
attr_accessor :list
end
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1