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

Project1

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

[已经解决] 怎么样在脚本中建新的组变量组啊

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
跳转到指定楼层
1
发表于 2013-5-6 19:23:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 光の異形 于 2013-5-7 12:11 编辑

  蠢蠢的 只会这样 ······
  def   gcai_a2_4
          gcai_a2_4 = "悲伤"
      end
求助

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
4
发表于 2013-5-7 10:11:43 | 只看该作者
nil 是空的意思,如果按照 C 的说法,它指向一个空的指标,它是指向一个物件对象的 Empty 空值,而 Nil 则指向一个类而不是物件,我觉得应该这样解释。

一个变量没有指定前,它的值应该是 nil ,空的值,不存在任何值,未建立的值,nil 不是 0,两者不同,0 是可以计算的,有数的,nil 没有,它是空,
如果您这样测:

p $abc

控制台应该会看到 nil 这个值,因为 $abc 没有指定,它没有被赋值,所以初始就是 nil,而游戏定义的 5000 个变量,其实并不是只有 5000,
若用了破限脚本或许上万都可以,即使您用

p $game_variable[5013]

得到的还是 0,那已经超过了 5000 变量,为什么?因为 Game_Variable 中这样设置:

@data = []

@data[variable_id] || 0

它在初始化 initialize 时设了一个空的数组,然后在取得变量时指定了回传的值如果不是 @data[variable_id] 就是 0

这和您说的 nil 变成 0 没有实质的关连,只是被脚本这样设定而已,非值即 0,您也可以参考这样做。

点评

太谢谢了 又懂了好多呀  发表于 2013-5-7 12:11

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 认可答案

查看全部评分

修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
3
 楼主| 发表于 2013-5-7 08:54:00 | 只看该作者
j433463 发表于 2013-5-7 07:00
基本来说,变量有局部的,全局的分别,如果名称前不加附号,是局部的,用在 def 中就只有 def 中可以用,出 ...

多谢前辈 我想了好久 已经明白了我问问题了
貌似从一个很厉害的 误区里边回来了
游戏里边其实定义了 5000个空白的 变量给玩家 设置这些变量上限的时候 这里变量从 nil 变成了 0 是不是这样啊
所以 我要一个整个游戏都可以用的变量组的话,要在脚本定义一个空白的组先?

$gcai_a1 = nil
$gcai_a1_001 = nil
$gcai_a1_002 = nil
...........
$gcai_a1_100 = nil

是这样吗?

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
2
发表于 2013-5-7 07:00:05 | 只看该作者
基本来说,变量有局部的,全局的分别,如果名称前不加附号,是局部的,用在 def 中就只有 def 中可以用,出了 def 就不算了,就像您写的那个,如果在前面加 @,就是在脚本中都可以用,如果在前面加的是 $,那就是全局的每一个脚本中都用得上。

另外还有 @@ $$ 之类的,就不说了,我也不太懂的。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 02:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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