Project1

标题: 求教在游戏中用事件更改脚本中实变量的方法 [打印本页]

作者: 至高无上    时间: 2014-4-15 23:58
标题: 求教在游戏中用事件更改脚本中实变量的方法
直接写脚本
      @变量=数值
居然没有用
作者: 皮卡星    时间: 2014-4-16 02:34
……因为你那不是全局变量
@某某东西”不是全局变量
你用“$”就可以随时使用了
作者: 铃仙·优昙华院·因幡    时间: 2014-4-16 12:27
@变量 只能在 class 中使用. 如果需要修改的话, 需要定义接口.

比如说:
     attr_accessor , attr_read 什么的.

或者直接自己定义一个 方法 来修改.
作者: 莲蓉包    时间: 2014-4-16 13:25
铃仙·优昙华院·因幡 发表于 2014-4-16 12:27
@变量 只能在 class 中使用. 如果需要修改的话, 需要定义接口.

比如说:


@变量
我更喜欢
  1. instance_eval("@变量 = XXX")
复制代码
或者
  1. instance_variable_set(:@变量, XXX)
复制代码
  
作者: 至高无上    时间: 2014-4-17 00:03
铃仙·优昙华院·因幡 发表于 2014-4-16 12:27
@变量 只能在 class 中使用. 如果需要修改的话, 需要定义接口.

比如说:

我在class内部添加了attr_accessor :变量语句,但尽管如此,在事件脚本中使用@变量=数值语句依旧不能奏效
作者: 皮卡星    时间: 2014-4-17 01:57
至高无上 发表于 2014-4-16 17:03
我在class内部添加了attr_accessor :变量语句,但尽管如此,在事件脚本中使用@变量=数值语句依旧不能奏 ...

你是放在scene里吗?如果是的话可以用$scene.变量 = 你要的数值,如果是window或sprite的话可以在scene里放那个window/sprite的attr_accessor嘛: D
作者: fux2    时间: 2014-4-17 07:43
至高无上 发表于 2014-4-17 00:03
我在class内部添加了attr_accessor :变量语句,但尽管如此,在事件脚本中使用@变量=数值语句依旧不能奏 ...

你事件里直接写给实例变量赋值当然都是给事件解释器的Interpreter类写实例变量,
看来楼主不清楚实例是什么意思?
A君有@age属性,B君也有@age属性,你写@age = 5,写的到底是谁的age呢?
作者: 铃仙·优昙华院·因幡    时间: 2014-4-17 10:05
至高无上 发表于 2014-4-17 00:03
我在class内部添加了attr_accessor :变量语句,但尽管如此,在事件脚本中使用@变量=数值语句依旧不能奏 ...

既然使用了 attr_accessor , 那么就应该是 实例.变量 = XXX 来赋值的. 不在那个类里的赋值都不可以使用 @变量 的形式.




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