赞 | 5 |
VIP | 71 |
好人卡 | 22 |
积分 | 6 |
经验 | 32145 |
最后登录 | 2013-8-9 |
在线时间 | 184 小时 |
Lv2.观梦者 天仙
- 梦石
- 0
- 星屑
- 620
- 在线时间
- 184 小时
- 注册时间
- 2008-4-15
- 帖子
- 5023
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 雪流星 于 2010-12-19 15:40 编辑
雪流星脚本教程第四弹:Window脚本教程一
小幽的VX实用脚本查询手册:
VX实用脚本查询手册
说明档:
点此下载
教本讲堂再次开讲喽!!
这次我们来讲Window的绘制
在之前Scene的教程中,我们都是用默认写好的Window来排版和判断而已
现在开始在Window里面绘制我们想要显示的文字或图片。
新建一个工程,把Window_Gold复制一份,贴在main的前面。
把refresh的内容删掉。
进入游戏,开启菜单。
如果你的金钱窗口不是空的话,那麽肯定是你的错,不是我的错,赶快跪下来向电脑忏悔吧!!!
现在在refresh里面添加:
self.contents.draw_text(0, 0, 120, WLH, $game_variables[1]) # 显示一号变量
self.contents.draw_text(x, y, width, height, text, align) 就是我们用来在窗口中绘制文字用的方法
它的参数为:
x X座标
y Y座标
width 宽度
height 高度,一般使用 WLH 就行了
text 要绘制的文字
align 对齐方式(0:靠左对齐 1:居中对齐 2:靠右对齐)
好,测试一下:
金钱窗口显示为0,没错,因为系统变量初始直就是0。可以用Debug修改数值看看。
再来来解释一下每个参数的作用
XY座标这就不用多说了,先讲高度
WLH 是 Window_Base 里面定义的常量,值为 24。
这个数值就是字体大小(20)加上边缘各2像素的大小。
在RMVX中,一个全角字大约占 24X24 像素的大小
所以我们的宽度也要照这个去算
如果不确定会有几个字,可以用
self.contents.text_size(显示文字).width
来计算所需宽度
然後我们现在要在加一句很重要的一句脚本,那就是
self.contents.clear
这句相当於板擦,将「窗口内容」这块「黑板」原先有的字「擦掉」。
如果没有这句的话,新添加的文字就会覆盖在就有文字的上面。
如果我们在Window_Gold里面加上
def update
refresh
end
然後再进入菜单看看的话,就会发现刚才绘制的文字越变越粗。
如图:
(update那段只是测试,测试完记得删掉)
现在虽然看不出效果,但是还是要加上去以策万全。
最後,我们来让这块「黑板」更加多彩多姿
使用脚本
self.contents.font.color = text_color(n)
可以将以下窗口文字的颜色,设定为窗口外观上第n+1个颜色
为什麽是n+1呢?
因为这些颜色是从 0 开始算起的
所以第一个颜色是0号
如果懒得计算第几个颜色的话,也可以用
self.contents.font.color = Color.new(R, G, B)
至於R、G、B分别是什麽值,可以用下面这两个软件来计算:
http://rpg.blue/viewthread.php?tid=108096
http://rpg.blue/viewthread.php?tid=109833
其馀显示文字的方法:
角色相关
绘制角色名称:draw_actor_name(角色, x, y)
绘制角色职业:draw_actor_class(角色, x, y)
绘制角色等级:draw_actor_level(角色, x, y)
绘制角色HP(含血槽):draw_actor_hp(角色, x, y, 宽度)
绘制角色MP(含气槽):draw_actor_mp(角色, x, y, 宽度)
绘制角色能力值:draw_actor_parameter(角色, x, y, 类型)
参数解释
角色为$game_actor对象,可以用 $game_party.members[N]来指定队伍中第N号角色
x, y 为显示座标
宽度是绘制血/气槽的宽度
类型使用0-3代表 0:攻击 1: 防御 2:精神力 3:敏捷
绘制物品名称:draw_item_name(物品, x, y, enabled)
绘制金钱数值:draw_currency_value(数值, x, y, 宽度)
物品是 BaseItem对象,所以物品、技能、武器、防具皆可使用
eneabled是指物品是否半透明化显示(代表无法使用)
数值是指金钱的数值,一般指定 $game_party.gold 即可,当然你也可以使用系统变量
宽度是绘制金钱数值的宽度
今天就说到这里,下次来谈怎麽在窗口中显示图标。
发布页面:http://rpg.blue/web/htm/news1220.htm
vip+2
[本贴由 66RPG发布员 于 2008-12-20 0:16:26 进行了编辑] |
|