加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 RyanBern 于 2014-11-26 11:58 编辑
第一个问题:
一方面:
@map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
@map = load_data(sprintf("Data/Map%03d.rxdata", @map_id))
读出的地图数据储存了地图事件数据events,是<RPG::Event>的数据;
for i in @map.events.keys @events[i] = Game_Event.new(@map_id, @map.events[i]) end
for i in @map.events.keys
@events[i] = Game_Event.new(@map_id, @map.events[i])
end
读取地图事件的主键值,作为参数,再设置一个实变量events的哈希表储存Game_Event对象;
另一方面:
@map_interpreter = Interpreter.new(0, true)
@map_interpreter = Interpreter.new(0, true)
问题来了,事件怎么和编译器联结在一起的呢?例如,执行“重新设置窗口”内容,而执行语句是包含在事件中的,那么编译器是对事件的执行语句进行编译还是对事件进行编译?于是,我想,编译器要编译执行内容,首先要和事件连结起来,因为执行内容list是事件events的属性。我这样的理解对吗?
第二个问题:
Scene_File类中:
def main # 生成帮助窗口 @help_window = Window_Help.new @help_window.set_text(@help_text) end
def main
# 生成帮助窗口
@help_window = Window_Help.new
@help_window.set_text(@help_text)
end
Window_Help类中:
def set_text(text, align = 0) # 如果文本和对齐方式的至少一方与上次的不同 if text != @text or align != @align # 再描绘文本 self.contents.clear self.contents.font.color = normal_color self.contents.draw_text(4, 0, self.width - 40, 32, text, align) @text = text @align = align @actor = nil end self.visible = true end
def set_text(text, align = 0)
# 如果文本和对齐方式的至少一方与上次的不同
if text != @text or align != @align
# 再描绘文本
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
@text = text
@align = align
@actor = nil
end
self.visible = true
end
我的问题是:@help_window.set_text(@help_text)的参数传递给 set_text(text, align = 0),那么,参数数目不同怎么能进行传递?不是需要参数数目相同才能进行传递么? |