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

Project1

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

[RMVX发布] 雪流星脚本教程第四弹:Window脚本教程一

 关闭 [复制链接]

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

跳转到指定楼层
1
发表于 2008-11-19 19:04:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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 进行了编辑]
VA脚本开工中...
偷窃脚本1.0 - 已完成

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

2
发表于 2008-11-19 19:51:16 | 只看该作者
开始学习VX脚本
版主对此帖的评论:『那也没必要挖坟吧』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

穿越一季:朔

梦石
0
星屑
50
在线时间
333 小时
注册时间
2007-4-11
帖子
5369

贵宾

3
发表于 2008-11-19 21:49:30 | 只看该作者
{/fd}{/fd}{/fd}{/fd}

哪里挖坟了。。。这个不雪流星刚发的么
6R复活?别扯淡了.

柳柳一旦接手66RPG,我果断呵呵啊。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

kissye的宠物<

梦石
0
星屑
61
在线时间
1563 小时
注册时间
2008-8-11
帖子
6174

贵宾

4
发表于 2008-11-19 22:28:05 | 只看该作者
哦…混了混了…被以前的教程先入为主了………
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

5
发表于 2008-11-20 06:37:04 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

6
 楼主| 发表于 2008-11-20 07:12:29 | 只看该作者
以下引用沉影不器于2008-11-19 22:37:04的发言:
写得太简单了吧...字数翻个翻还差不多

本来想要写字宽度的算法,
就是当宽度太窄的时候,会自动压缩字体的算法
但是越写越复杂,也离题越远,最後全删掉,只留下:
WLH 是 Window_Base 里面定义的常量,值为 24。
这个数值就是字体大小(20)加上边缘各2像素的大小。
在RMVX中,一个全角字大约占 24X24 像素的大小

所以我们的宽度也要照这个去算
如果不确定会有几个字,可以用
self.contents.text_size(显示文字).width
来计算所需宽度


补充了一些显示文字的方法
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

7
发表于 2008-11-22 18:43:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-21 19:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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