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

Project1

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

[已经解决] 问题又来了,写脚本时遇到的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
48
在线时间
841 小时
注册时间
2010-8-11
帖子
1135
跳转到指定楼层
1
发表于 2011-2-14 20:15:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 945127391 于 2011-2-15 20:53 编辑

        最近正在努力学习脚本当中,有些问题查过F1找不到答案,就只好来论坛发帖提问了。
1.“@@"开头的变量和"@"开头的变量有什么不同?
2.可以在场景中随时更改窗口的长和宽吗?
3.怎样去更改游戏中的字体?如我的游戏默认是宋体,但我想在窗口描绘的时候把字体改为其他的字体,该怎么做?
4.怎样去判断是否已经有某个文件夹?
5.怎样把一些文字写进一个记事本文档中?
6.怎样做出一开始只是一个窗口,按下回车键后出现一个Window_Command的选项窗口?
       暂时就只有这么多了,辛苦大家了,谢谢啦!

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5724
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
6
发表于 2011-2-15 17:55:58 | 只看该作者
回复 summer92 的帖子

哎~:
1.无任何符号的是局部变量,
2.带@是实例变量,
3.带@@的是类变量,
4.带$的才是全局变量!
5.而伪变量中最常见的是self。
让我说说他们的特性:
1.最普通的局部变量可以说是哪里建立就哪里使用,函数(方法)里建立就限于该函数(方法)。
2.实例变量比如@x配合attr_accessor :x/attr_reader :x/attr_writer :x使用,
就能在类中一小圆点"."中传达、提取、使用。
3.类变量是在一个类(class)得到名字后,如:
a_a = a.new;a_b = a.new
那么a_a和a_b都有控制a类里类变量的权利,而a_a和a_b所控制的类变量是同一个变量。
就是类变量是所有被创建出来的a类都拥有的"同一个"变量。
4.全局变量$可被应用于任何地方,但不要乱取名,以免覆盖情况。
5.伪变量只说最常见的self,self是代替本体的意思,就是"伪"的意思(代替)。

点评

可以这么说,但是个人感觉self很好用。  发表于 2011-2-17 21:30
个人感觉伪变量里用得最多的是true和false  发表于 2011-2-17 21:28
- -还是阁下给力啊,别叹气啊,可能我描述的时候没那么好,不过一般写程序的时候可不会错哦  发表于 2011-2-16 13:12

评分

参与人数 1星屑 +12 收起 理由
summer92 + 12 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1357
在线时间
677 小时
注册时间
2009-11-11
帖子
2790
5
发表于 2011-2-15 11:58:13 | 只看该作者
- -变量,我试试

@开头的话是 局部变量 就是使用范围是类的内部

@@开头的是 全局变量 就是只要程序运行了 被创建之后就一直存在

嘿。嘿。嘿
回复 支持 反对

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5724
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
4
发表于 2011-2-14 23:06:54 | 只看该作者
其他的上面两位前辈答了,于是答其他的:

写入txt方法:
  1. file = File.open("ABC/text.txt","w")    # 必须预先有ABC文件夹,否则出错
  2. file.puts("a")                          # 写入
  3. file.close                              # 结束写入
复制代码
上面这样会文件就会有a一个字符。
先说说这个语法:
File.open(路径,开启方式)
开启方式默认值为 "r"。
"r"  :以读取模式打开文件。
"w":以写入模式打开文件。打开时若文件已存在,则会删除文件内容。
"a" :以写入模式打开文件。输出写入的内容一定会附在文件的结尾部分。
使用 "+" 时就以读写模式(RDWR)打开文件:
"r+" :将读写的位置设置在文件开头的部分。
"w+":与"r+"相同,打开时若文件已存在,则会删除文件内容。
"a+" :与"r+"相同,打开时若文件已存在,则会将读写的位置设置在文件尾的部分。
如果用"rb"、"wb"、"ab"的话,会用了二进制模式打开文件,
就是"wb"的时候就会一行式储存数据。
而每次用"w"puts会换行,使用"wb"会一行式。

而在initialize里:
  1. @window = Window_Command
  2. @window.visible = false
复制代码
update里:
  1. @window.visible = true if Input.trigger?(Input::C)
复制代码

评分

参与人数 1星屑 +200 收起 理由
铃仙·优昙华院·因幡 + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1195
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

3
发表于 2011-2-14 20:47:28 | 只看该作者
@@是类变量,而@是实例变量,两个变量的作用范围不同。类变量就像这个地球一样,是大家(同一个类的实例)共有的,我如果改变了地球,对于别人来说,地球同样受到改变。而实例变量就只是对实例本身,也就是我手上有100元,你手上有200元,我花光了,你身上还是有200元。

  1. class Human
  2.   @@count = 0
  3.   attr_accessor :name
  4.   def initialize(name)
  5.     @name = name
  6.     @@count += 1
  7.   end
  8.   def count
  9.     return @@count
  10.   end
  11. end

  12. p lz = Human.new("945127391")
  13. p lz.count #=> 1
  14. p me = Human.new("DeathKing")
  15. p lz.name #=> 945127391
  16. p me.name #=> DeathKing
  17. p lz.count #=> 2
  18. p me.count #=> 2
复制代码
2、只要开放了width=方法和height=方法就行,通常的,设置x=或y=都可以。因为Window类里面把这些都给弄好了,因此,只要是继承自Window类或其子类,都可更改。

3、self.contents.font.name = "" 确保是在窗体对象中操作。
在Window_MenuStatus的refresh方法的self.contents.clear后面加上这句:self.contents.font.name = "宋体" ,并运行游戏,点开菜单,看看变化。

其他的之前都有讨论,我这里还有点事,就不一一解答了。下次不要一贴多问了,而且提问之前最好先检索一下看有没有类似的讨论。

点评

我记得@开头的才是类变量吧.....  发表于 2011-2-14 22:23

评分

参与人数 1星屑 +200 收起 理由
铃仙·优昙华院·因幡 + 200 认可答案

查看全部评分


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

百合乡の蕾咪

梦石
0
星屑
55
在线时间
151 小时
注册时间
2011-1-12
帖子
198
2
发表于 2011-2-14 20:40:18 | 只看该作者
本帖最后由 蕾米莉亚·斯卡雷特 于 2011-2-14 20:45 编辑
  1. class A
  2.   @@a = 1
  3.   
  4.   def initialize
  5.     @b = 2
  6.   end
  7.   
  8.   def a
  9.     return @@a
  10.   end
  11.   
  12.   def a=(n)
  13.     @@a = n
  14.   end
  15.   
  16.   def b
  17.     return @b
  18.   end
  19.   
  20.   def b=(n)
  21.     @b = n
  22.   end
  23.   
  24. end

  25. a1 = A.new
  26. a2 = A.new

  27. p a1.a

  28. a2.a = 10
  29. p a1.a

  30. a1.b = 15
  31. p a2.b

  32. exit
复制代码


Bitmap:

属性font
使用draw_text方法描绘字符串时所使用的字体。(Font 字型类)。


  1. fp = File.open("a.txt", "w")

  2. fp.write("123")

  3. fp.close
复制代码

评分

参与人数 1星屑 +200 收起 理由
铃仙·优昙华院·因幡 + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 15:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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