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

Project1

 找回密码
 注册会员
搜索

【14.7.5第二版更新】RGSS1脚本入门参考

查看数: 27113 | 评论数: 58 | 收藏 35
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-10-12 22:24

正文摘要:

本帖最后由 RyanBern 于 2015-8-24 12:15 编辑 [box=RoyalBlue]目录[/box] 第0章节:预备知识1L(主楼)第1章节:类7L        √热心朋友的相关补充23L第2章节:解密RGSS系统11L第 ...

回复

765111039 发表于 2023-5-4 12:14:07
教程看完了,学会了P函数
开玩笑的,感谢楼主和各位大神,留名支持一下
这不算挖坟吧。

点评

挖出RB10年前的黑历史了  发表于 2023-5-5 20:23
tsukishinu 发表于 2018-3-7 16:36:04
RyanBern 发表于 2018-3-7 09:11
一个比较方便的做法是将真实商店变成 $game_system 对象里面的一个实变量。因为 $game_system 这个对象是 ...

改完可以存储了=w=谢谢版主大大!看起来$game_system里面可以塞好多东西……
RyanBern 发表于 2018-3-7 09:11:09
tsukishinu 发表于 2018-3-6 14:47
版主大大你好,想请教一个问题。我照着这个帖子写完了真实商店,虽然功能基本实现了,但是商店里的数据没法 ...

一个比较方便的做法是将真实商店变成 $game_system 对象里面的一个实变量。因为 $game_system 这个对象是可以自动存储的,所以以它为载体存储额外对象是个重要的技巧。

代码只需要添加:
RUBY 代码复制
  1. class Game_System
  2.   attr_accessor :visualshop
  3. end


而后在生成真实商店的时候使用 $game_system.visualshop = Game_VisualShop.new(args) 即可
tsukishinu 发表于 2018-3-6 14:47:33
版主大大你好,想请教一个问题。我照着这个帖子写完了真实商店,虽然功能基本实现了,但是商店里的数据没法存档,毕竟真实商店的库存和玩家操作有关。数据写在了$game_visualshop数组里面,如果在Scene_Title里面初始化就没法保存了,不知道改怎么写才能让数据保存下来。
如果版主大大看到了,希望能指点一下(跪),非常感谢版主大大写了这个教程,学到了很多,终于能看懂默认脚本了。

ps:不知道算不算挖坟啊,但是没权限发消息对不起((
megaman 发表于 2017-4-20 10:23:07
版主大大,请问我看完了第四章节就能把战斗菜单改成新仙剑奇侠传那样了吗?

点评

看完窗口和场景才(有可能)可以。  发表于 2017-4-20 21:19
zwlstc109 发表于 2017-1-21 19:29:50
本帖最后由 zwlstc109 于 2017-1-21 19:41 编辑

支持下
喵呜喵5 发表于 2016-7-8 22:37:16
本帖最后由 喵呜喵5 于 2016-7-8 22:39 编辑
银羽凌云 发表于 2016-7-8 19:03
大神求教
class Person
  attr_accessor:name,:sex,:age


没有任何正常的做法能够实现你所希望的效果,因为 Ruby 是动态类型的,所以和 C 语言等静态类型语言不同下面这段代码执行时不会报错
  1. a = 1
  2. a = "hello"
复制代码

而也正是因为Ruby是动态类型的,赋值操作实际上是传递一个引用,上面这段代码中,a=1时,a是一个指向1的值,a="hello"时,a是一个指向hello的值,a 并不是一个具体的数值,而更像是某一个具体数值的一个“外号”或者“别名”

所以,在下面这段代码中,你会看到一个奇怪但符合这一规则的结果
  1. class Person
  2.   attr_accessor :name,:nickname
  3.   def initialize(name,nickname)
  4.     @name = name
  5.     @nickname = nickname
  6.   end
  7. end
  8. xiaoming = Person.new("小明","xiaoming")
  9. xiaoming2 = xiaoming
  10. xiaoming2.name = "小明明"
  11. print xiaoming.name
复制代码

修改 xiaoming2 的名字时,xiaoming 的名字也跟着发生改变了

不论是 xiaoming 还是 xiaoming2,他们都只是别人给 Person("小明") 起的一个外号,有些外号是你直接起了告诉小明的(@nickname),有些外号是你背地里偷偷起的(xiaoming2 = xiaoming),
直接起的外号小明知道,起外号的你也知道,你提到这个外号便知道说的是小明,你问小明他有什么外号他也会告诉你
背地里偷偷起的外号你自己知道,提到这个外号也知道说的是小明,但是你问小明知不知道这个外号时,小明自然就懵逼了


另外,实际写代码过程中一般不会出现真的需要获取小明外号的情况





评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 触瞎

查看全部评分

RyanBern 发表于 2016-7-8 22:13:33
银羽凌云 发表于 2016-7-8 21:59
大神求教
class Cuboid
  def initialize(number)

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 = "小红"'
银羽凌云 发表于 2016-7-8 21:59:06
大神求教
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.

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