RyanBern 发表于 2018-3-7 09:11 改完可以存储了=w=谢谢版主大大!看起来$game_system里面可以塞好多东西…… |
tsukishinu 发表于 2018-3-6 14:47 一个比较方便的做法是将真实商店变成 $game_system 对象里面的一个实变量。因为 $game_system 这个对象是可以自动存储的,所以以它为载体存储额外对象是个重要的技巧。 代码只需要添加: RUBY 代码复制
而后在生成真实商店的时候使用 $game_system.visualshop = Game_VisualShop.new(args) 即可 |
版主大大你好,想请教一个问题。我照着这个帖子写完了真实商店,虽然功能基本实现了,但是商店里的数据没法存档,毕竟真实商店的库存和玩家操作有关。数据写在了$game_visualshop数组里面,如果在Scene_Title里面初始化就没法保存了,不知道改怎么写才能让数据保存下来。 如果版主大大看到了,希望能指点一下(跪),非常感谢版主大大写了这个教程,学到了很多,终于能看懂默认脚本了。 ps:不知道算不算挖坟啊,但是没权限发消息对不起(( |
本帖最后由 zwlstc109 于 2017-1-21 19:41 编辑 支持下 |
本帖最后由 喵呜喵5 于 2016-7-8 22:39 编辑 银羽凌云 发表于 2016-7-8 19:03 没有任何正常的做法能够实现你所希望的效果,因为 Ruby 是动态类型的,所以和 C 语言等静态类型语言不同下面这段代码执行时不会报错
而也正是因为Ruby是动态类型的,赋值操作实际上是传递一个引用,上面这段代码中,a=1时,a是一个指向1的值,a="hello"时,a是一个指向hello的值,a 并不是一个具体的数值,而更像是某一个具体数值的一个“外号”或者“别名” 所以,在下面这段代码中,你会看到一个奇怪但符合这一规则的结果
修改 xiaoming2 的名字时,xiaoming 的名字也跟着发生改变了 不论是 xiaoming 还是 xiaoming2,他们都只是别人给 Person("小明") 起的一个外号,有些外号是你直接起了告诉小明的(@nickname),有些外号是你背地里偷偷起的(xiaoming2 = xiaoming), 直接起的外号小明知道,起外号的你也知道,你提到这个外号便知道说的是小明,你问小明他有什么外号他也会告诉你 背地里偷偷起的外号你自己知道,提到这个外号也知道说的是小明,但是你问小明知不知道这个外号时,小明自然就懵逼了 另外,实际写代码过程中一般不会出现真的需要获取小明外号的情况 |
银羽凌云 发表于 2016-7-8 21:59 001表示一个八进制数,因此不建议你这样给实变量赋值。 一个可行的办法是这样 [pre lang=Ruby]def count print sprintf("长方体%03d", @cuboid_number) end[/pre] 然后调用cuboid_001 = Cuboid.new(1) 利用sprintf可以进行格式化输出。 至于第一个问题,我不会写。你可以考虑使用eval来计算表达式的值。 name='xiaoming' eval name+'.name = "小红"' |
大神求教 class Cuboid def initialize(number) @cuboid_number = number end def shuchu number = @cuboid_number print "长方体#{number}" end end cuboid_001 = Cuboid.new(001) cuboid_001.shuchu 结果:长方体1 怎样才能得到结果:长方体001 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-21 21:06
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.