Project1

标题: 如何动态给事件增加命令? [打印本页]

作者: gaofei677    时间: 2013-7-24 12:22
标题: 如何动态给事件增加命令?
本帖最后由 gaofei677 于 2013-7-24 12:23 编辑

比如,我想在游戏运行时,给事件一增加一条备注“123”
那我就执行
  1. $game_map.events[1].list.push(@index 108, ["123"])....
复制代码
大概是这个样子,但是后面我不知道怎么写了,求大家帮帮忙
作者: Sion    时间: 2013-7-24 15:53
本帖最后由 Sion 于 2013-7-24 16:25 编辑
  1. # [url=home.php?mod=space&uid=10413]@code[/url]
  2. class RPG::EventCommand
  3.   def initialize(code = 0, indent = 0, parameters = [])
  4.     @code = code
  5.     @indent = indent
  6.     @parameters = parameters
  7.   end
  8.   attr_accessor :code
  9.   attr_accessor :indent
  10.   attr_accessor :parameters
  11. end
复制代码
大概这样吧:
  1. list.push(108, 0, ["注释"])
复制代码
@gaofei677 刚才搞错了,应该先创建实例:
  1. list.push(RPG::Command.new(108, 0, ["注释"]))
复制代码

作者: gaofei677    时间: 2013-7-24 16:39
本帖最后由 gaofei677 于 2013-7-26 10:57 编辑
  1. $game_map.events[1].list.push(RPG::EventCommand.new(108, 0, ["注释"]))
  2. $game_map.events[1].list.push(RPG::EventCommand.new)
复制代码
  1. $game_map.events[1].list.push(RPG::EventCommand.new(408, 0, ["注释"]))
复制代码
这两个都是正确的
@Sion 所说,所有事件页最后都有个空的
  1. $game_map.events[1].list.push(RPG::EventCommand.new)
复制代码
408大概是特殊情况吧,我也不太清楚,反正用其他code的时候,在后面记得加一个空的命令就行
作者: Sion    时间: 2013-7-24 20:50
gaofei677 发表于 2013-7-24 16:39
这个不正确这个正确,注释的code应该用408,不知道为什么108不能用

因为它要读取下一句的.code 所以要再加一个空的
不过为什么要这么麻烦呢?直接执行语句不是更方便 - -b




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1