设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1409|回复: 7
打印 上一主题 下一主题

[已经解决] 求教在游戏中用事件更改脚本中实变量的方法

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
346 小时
注册时间
2010-12-12
帖子
246
跳转到指定楼层
1
发表于 2014-4-15 23:58:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
直接写脚本
      @变量=数值
居然没有用

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

2
发表于 2014-4-16 02:34:57 | 只看该作者
……因为你那不是全局变量
@某某东西”不是全局变量
你用“$”就可以随时使用了

点评

LZ是想改变@变量的值,不是想用$变量代替。  发表于 2014-4-16 11:24

回复 支持 反对

使用道具 举报

Lv2.观梦者

狂気の月兔

梦石
0
星屑
276
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

3
发表于 2014-4-16 12:27:52 | 只看该作者
@变量 只能在 class 中使用. 如果需要修改的话, 需要定义接口.

比如说:
     attr_accessor , attr_read 什么的.

或者直接自己定义一个 方法 来修改.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2014-4-1
帖子
11
4
发表于 2014-4-16 13:25:54 | 只看该作者
铃仙·优昙华院·因幡 发表于 2014-4-16 12:27
@变量 只能在 class 中使用. 如果需要修改的话, 需要定义接口.

比如说:


@变量
我更喜欢
  1. instance_eval("@变量 = XXX")
复制代码
或者
  1. instance_variable_set(:@变量, XXX)
复制代码
  

点评

个人感觉这样就不能保证 class 的封装性 了.  发表于 2014-4-16 13:44

评分

参与人数 1星屑 +50 收起 理由
丿梁丶小柒 + 50 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
346 小时
注册时间
2010-12-12
帖子
246
5
 楼主| 发表于 2014-4-17 00:03:04 | 只看该作者
铃仙·优昙华院·因幡 发表于 2014-4-16 12:27
@变量 只能在 class 中使用. 如果需要修改的话, 需要定义接口.

比如说:

我在class内部添加了attr_accessor :变量语句,但尽管如此,在事件脚本中使用@变量=数值语句依旧不能奏效
回复 支持 反对

使用道具 举报

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

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

你是放在scene里吗?如果是的话可以用$scene.变量 = 你要的数值,如果是window或sprite的话可以在scene里放那个window/sprite的attr_accessor嘛: D

评分

参与人数 1星屑 +50 收起 理由
丿梁丶小柒 + 50 我很赞同

查看全部评分


回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42568
在线时间
7611 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

7
发表于 2014-4-17 07:43:11 | 只看该作者
至高无上 发表于 2014-4-17 00:03
我在class内部添加了attr_accessor :变量语句,但尽管如此,在事件脚本中使用@变量=数值语句依旧不能奏 ...

你事件里直接写给实例变量赋值当然都是给事件解释器的Interpreter类写实例变量,
看来楼主不清楚实例是什么意思?
A君有@age属性,B君也有@age属性,你写@age = 5,写的到底是谁的age呢?

评分

参与人数 1星屑 +50 收起 理由
丿梁丶小柒 + 50 我很赞同

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv2.观梦者

狂気の月兔

梦石
0
星屑
276
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

8
发表于 2014-4-17 10:05:51 | 只看该作者
至高无上 发表于 2014-4-17 00:03
我在class内部添加了attr_accessor :变量语句,但尽管如此,在事件脚本中使用@变量=数值语句依旧不能奏 ...

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

评分

参与人数 2星屑 +112 收起 理由
丿梁丶小柒 + 100 认可答案
至高无上 + 12 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-13 00:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表