查看: 3211|回复: 6

[RMVA发布] 【VA】脚本简单语法教程

[复制链接]
梦石
0
星屑
68
在线时间
208 小时
注册时间
2013-8-8
回帖
1186
发表于 2015-1-17 17:38:15 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 我在孤岛等你 于 2015-1-18 23:14 编辑

注意啦——

适用于0基础的不会脚本人群。
这里跟大家将一些VA脚本简单的语法……
这些都是很简单的一些,如果你有不错的基础,就可以另谋高师了。



第一课:注释的使用[fold=点我展开]
脚本中的注释是不会进行的(不然怎么叫注释啊……)。需要注意的是,事件里的注释是可以用脚本调用的。
注释都是绿色字体,如果不是,请检查是否有误……使用注释方法:
第一种:
使用英文符号的“#”。
左边可以有东西且不会是注释,在它的右边,都将是注释。注意:在该行有效,不会影响下一行。
aabb.jpg
特点:应用性很广。能在各种地方运用。但只适用于一句简短的话。
第二种:
使用“=begin”及其“=end”
“=begin”的左边是不可以有东西的!包括空格!而且,“=begin”的右边的东西要用至少要用一个空格隔开!在它的下面都是注释,直到碰见了“=end”。“=end”的左边不能有东西,包括空格,在其右边,必须隔一个空格。“=begin”到“end”之间都是注释。
aabbb2.jpg
特点:应用性有些局限,但可以适用于较长的注释。(长篇大论那种……)
[/fold]
第二课:第一个脚本与msgbox[fold=点我展开]
讲了那么多注释,该进入正题了……我们是来学脚本的嘛……
让我们学习第一个脚本——msgbox!
  1. msgbox "海天酱油,正真好打的酱油!"
复制代码
需要注意的是,双引号必须是英文符号哦!检查一下文字是否是这个颜色:█否则,就是出错了!内容左右都是要有双引号的,如果少了后面那一个,那么接下来的都会变成所需显示内容哦!(那就好玩了,显示一堆接下来的脚本)
现在,来更复杂的(不是复杂很多的啦):
  1. a = "打酱油,选海天!"
  2. msgbox a
复制代码
!
在这里,a被定义为"打酱油,选海天!"。然后msgbox引用了它。打个比方,a是一片胶卷,然后你在它那里写上"打酱油,选海天!",然后放在架子上。现在,msgbox就是放映机,把a胶卷放进去,就播出了"打酱油,选海天!"这段内容了。
这张胶卷你可以随意命名,只是:
1. 第一个字符必须以小写英文字母或 _(下划线)开头。
2. 第二个字符开始可以使用英文字母、数字或 _(下划线)。
3. 不能使用保留字作变量的名称。
保留字是作为 Ruby 中具有特殊意义的词而被系统所「保留」,所以变量名称不能使用。以下就
是系统的保留字。
     alias      def       false         nil         return     unless
     and      do        for           not       self          until
     begin   else       if             or          super      when
     break   elsif       in            redo      then       while
     case     end      module   rescue   true        yield
     class    ensure  next       retry      undef
这些都是正确的:a    a_b   ab_1    _box_    a1a_a1a_box   
这些都是错误的:1_a    1a_c(开头数字)   class(保留字)
正确的应该是黑色的,如果是蓝色(保留字),红色(数字)就错了。
留意到上面红色的“变量”两个字了吗?a    a_b   ab_1    _box_    a1a_a1a_box 都可以是变量。
你可以一开始a=1,一会儿重新改为a=999999999999,或是a=((b+c)*d-e)/f。
例如:
  1. a = 1
  2. if a==1
  3.   a=99
  4. end
复制代码
回归正题:有时候把胶卷播放时,还需要在再加点东西。这时候该怎么办?很简单:
  1. a_box = "海天"
  2. msgbox "我爱打#{a_box}酱油。"
复制代码
我们可以用#{}引入它。这时候就是 "我爱打海天酱油。"。注意:引入的东西必须在msgbox上面!
[/fold]
第三课:运算[fold=点我展开]
脚本也可以用作计算器的……
加法:
  1. b = 6
  2. c = 3
  3. a = b + c #这时候a=9
复制代码
减法:
  1. b = 6
  2. c = 3
  3. a = b - c#这个时候a=3
复制代码
乘法:
  1. b = 6
  2. c = 3
  3. a = b * c#这个时候a=18
复制代码
除法:
  1. b = 6
  2. c = 3
  3. a = b / c#这个时候a=2
复制代码
运算顺序和数学一样,先乘除,后加减。要先算加减,请加括号(英文的哦)
[/fold]


持续更新中……欢迎指错纠正,内容建议。
我已经没有兴趣认真做游戏了……只能胡扯。

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-17 18:09:02 | 显示全部楼层
本帖最后由 taroxd 于 2015-1-17 19:35 编辑
注释都是绿色字体,如果不是,请检查是否有误……


因为 RM 的脚本编辑器很坑爹,所以注释还真不一定是绿色字体的……

[pre lang="ruby" line="1"]
"#{if true
  1
else
  0
end}" # The code is apparently meaningless.[/pre]

QQ截图20150117180841.png

点评

有的时候论坛的高亮是错的,但编辑器里是对的 233  发表于 2015-1-18 16:06
就这段代码而言,论坛显示的高亮是正确的  发表于 2015-1-17 18:32
这里的 # 毫无疑问是注释。另外,"" 叫字符串,不叫“可显示内容”  发表于 2015-1-17 18:31
第一个"根本没能把接下来的定义为可显示内容……  发表于 2015-1-17 18:27
等等,#号前有个",这时候就不是注释了,而是可以显示的内容的说……  发表于 2015-1-17 18:25

评分

参与人数 1星屑 +20 收起 理由
我在孤岛等你 + 20 0 0

查看全部评分

回复

使用道具 举报

梦石
0
星屑
68
在线时间
208 小时
注册时间
2013-8-8
回帖
1186
 楼主| 发表于 2015-1-17 18:33:53 | 显示全部楼层
本帖最后由 我在孤岛等你 于 2015-1-17 18:37 编辑
taroxd 发表于 2015-1-17 18:09
因为 RM 的脚本编辑器很坑爹,所以注释还真不一定是绿色字体的……


a = "#{if true
  1
else
  0
end}" # The code is apparently meaningless.
msgbox a
试试这个……
ddd.jpg

点评

rM太坑人了……  发表于 2015-1-17 18:38
我已经没有兴趣认真做游戏了……只能胡扯。
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-17 18:42:19 | 显示全部楼层
我在孤岛等你 发表于 2015-1-17 18:33
a = "#{if true
  1
else

往注释的 # 号前面加个空格或者去掉个空格即可重新使之变回紫色

RM 的编辑器坑人+1

QQ截图20150117184127.png

点评

看看“下界”楼层  发表于 2015-1-17 18:55
回复

使用道具 举报

梦石
0
星屑
68
在线时间
208 小时
注册时间
2013-8-8
回帖
1186
 楼主| 发表于 2015-1-17 18:53:48 | 显示全部楼层

回复

好坑人,你把它运行一下,然后就
ccc.jpg
在加个空格又变回原样了……
我已经没有兴趣认真做游戏了……只能胡扯。
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-17 19:35:15 | 显示全部楼层
a=[(b+c)*d-e]/f 是什么,数组的除法么= =

---

请解释 -3 ^ -5 = 6 以及 -3 ^ 7 = -6

把位运算这么解释的估计只有你一个了……

评分

参与人数 1星屑 +20 收起 理由
我在孤岛等你 + 20 o o

查看全部评分

回复

使用道具 举报

梦石
0
星屑
981
在线时间
3 小时
注册时间
2013-9-17
回帖
1
发表于 2015-1-18 12:04:09 | 显示全部楼层
求大神更新啊,初次接触脚本,以前都是只用事件的,正好学习下,做出更好的功能
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部