赞 | 0 |
VIP | 118 |
好人卡 | 0 |
积分 | 5 |
经验 | 28673 |
最后登录 | 2017-5-7 |
在线时间 | 10 小时 |
Lv2.观梦者 龙骑
- 梦石
- 0
- 星屑
- 525
- 在线时间
- 10 小时
- 注册时间
- 2007-12-31
- 帖子
- 2030
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
脚本小讲堂:
1:http://rpg.blue/web/htm/news910.htm
2:http://rpg.blue/web/htm/news911.htm
3:http://rpg.blue/web/htm/news914.htm
相信大家一定不是在瞎等“小讲堂[4]”,肯定有看别人的教程,如果你这样做了,那你就是聪明人~~
在此推荐一篇绿的一篇帖子:http://rpg.blue/viewthread.php?tid=74862 ]
那么就开始吧。
写完“[3]”后,有人问我,“随机数怎么写?”在次先跟大家道个歉,因为上篇没有说到,现在跟大家补说。
这其实是个函数,跟变量不一样的是,它能随机出现XX到XX的数字。这里的重点就是括号里的数字。
“(10)”其实是随机显示0到9的其中一个数字,要想实现随机出现0到10,就要写成:
p rand(11) 0..10(隨機11個數)
p rand(10)+1 1..10(隨機10個數)
再测试一下……就会看到随机的效果。
根据以前学过的以及现在的内容,结合起来,可以写成:
- a = 10 #为a代入10
- p rand(a) #随机显示a值
复制代码
曾经看到有人问怎样做横版战斗,于是看了看脚本,下面就教大家做属于自己的横版战斗。
首先打开脚本编辑器,看到左边那列,如果英语比较好,一看就知道哪个是哪个。为了节省大家的时间,已经找好了:Game_Actor。
这个actor是角色的意思,点开那脚本,看第4行:
所以英文不好的同学要想弄懂,就一定要看注释。
好了,我们看到第8行
- class Game_Actor < Game_Battler
复制代码
这里的class可不是班级的意思,其实是一个类,为下面的脚本定一个义。
“Game_Actor”与“ Game_Battler”中的小于号不是比较的意思,这是父、子类。
这两点我们以后会遇到,并且做解释。
继续往下看,从第567行开始,你会看到
-
- #--------------------------------------------------------------------------
- # ● 取得战斗画面的 X 坐标
- #--------------------------------------------------------------------------
- #--------------------------------------------------------------------------
- # ● 取得战斗画面的 Y 坐标
- #--------------------------------------------------------------------------
- #--------------------------------------------------------------------------
- # ● 取得战斗画面的 Z 坐标
- #--------------------------------------------------------------------------
复制代码
这就是我们本讲的主要内容。
- #--------------------------------------------------------------------------
- # ● 取得战斗画面的 X 坐标
- #--------------------------------------------------------------------------
- def screen_x #这是一个函数的定义,以后会讲到
- # 返回计算后的队伍 X 坐标的排列顺序
- if self.index != nil #条件分歧+语法
- return self.index * 160 + 80 #重点重点!!
- else
- return 0
- end
- end
复制代码
你会看到一些蓝色的字,这些就是系统的保留字。保留字就是这种语言独特的东东,没有什么道理可言,我们目前遇到过的有if、elsif、slse、end等等。
再回来看,
就是角色的X坐标*160,80就是角色的距离(暂时这么理解,因为比较容易,到时候就知道我讲的不对了)
所以可以根据这个来调战斗图的X坐标。
同样道理,Y坐标也可以更改,在这里就不多讲了,算是个作业好了。
如果调好了,又想把那个蓝色的、碍眼的框去掉,那该怎么办呢?
.找到Window_BattleStatus(显示战斗画面同伴状态的窗口。),看到第13行
2.在它前面加上个"self.back_opacity = 0",
也就是
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- def initialize
- super(0, 320, 640, 160)
- self.back_opacity = 0
- self.contents = Bitmap.new(width - 32, height - 32)
- @level_up_flags = [false, false, false, false]
- refresh
- end
复制代码
这里,self.back_opacity = 0 中的 0 是透明度,所以再测试战斗,就会看到蓝色的框没了,却看到了黑色的东东(因为战斗背景的那一条原来就是黑色的)。
如果想去掉那些信息,就要再改。
|
|