赞 | 0 |
VIP | 10 |
好人卡 | 49 |
积分 | 10 |
经验 | 22958 |
最后登录 | 2020-8-1 |
在线时间 | 2161 小时 |
Lv3.寻梦者 酱油的
- 梦石
- 0
- 星屑
- 1030
- 在线时间
- 2161 小时
- 注册时间
- 2007-12-22
- 帖子
- 3271
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 禾西 于 2011-10-27 14:50 编辑
不定期更新。
可能会坑爹,但是我尽量不坑。
这篇研究将会假定你已经了解RGSS/Ruby语法,如果不了解,请去看看F1的脚本入门再来。
如果没有问题的话,那么就开始了。
< 第一节 >
从根本来说,RGSS系统的主体应该这样的:- # Code 1.1
- def update
- Graphics.update
- end
- loop do
- update
- end
复制代码 它由两个部分组成:
一个刷新画面的方法
一个不断调用方法的循环
它的逻辑很简单,我们甚至可以用两句话来概括:
刷新画面、刷新画面。
没错,Graphics.update这个方法就是用来刷新画面的。
好了,现在你应该想要进一步丰富你的游戏内容,而不是无聊至极地一直刷新画面,而事实上
这个黑黝黝的画面也没有甚么好刷新的。
可是如果不进行刷新画面的话,程序唰一下就结束了。
[另外,如果10秒不刷新画面的话,RMXP会抛出一个错误并强行结束程序。RMVX则保持黑屏。]
那么,先让我们来了解两个东西。他们一个叫 Sprite,一个叫 Bitmap。我们翻译为精灵和位
图,但是他们实际上更像是画框和画纸。
现在,先选择一张你喜欢的图片吧。记住,RM 只支持 jpg、bmp、png 这三种格式的图片。
然后,我们要把他在 RM 的窗口中显示出来。
具体的步骤有三个,分别是
1.加载bitmap
2.生成sprite
3.把 bitmap 塞到 sprite 里面去
这是一个简单的例子:- # Code 1.2
- bmp = Bitmap.new("Sprite.jpg") #1
- spr = Sprite.new #2
- spr.bitmap = bmp #3
- def update
- Graphics.update
- end
- loop do
- update
- end
复制代码 你可以看到图片显示出来了。
< 第一节完 >
< 第二节 >
接下来,说的是文字的显示。
RM 没有能在黑色窗口背景上直接显示文字的方法。任何对于黑色背景的操作,都得通过
Bitmap。换句话说,我们只能在 Bitmap 上写字,然后把写有文字的 Bitmap 通过 Sprite,
贴到黑色背景上去。
你可以把 Bitmap 当作是一张可以被书写的画纸,嗯,上面也说过了。
在 Bitmap 上书写文字需要用 Bitmap 自带的一个方法:- draw_text(x, y, width, height, str, align)
复制代码 这个方法接受5到6个参数,最后一个参数 align 是不必要的。
前4个参数指定了可书写范围。超出可书写范围的内容将会不被显示——这个不显示说的只是
上下边界。如果内容的超出了左右边界,系统则会强行压缩的内容的宽度。
一般来说,width = 汉字数*字体尺寸 或者 width = 英文字符数*0.5*字体尺寸。
也就是说两个英文字母等于一个汉字。
height 应该等于字体的尺寸。
字体的尺寸等效果由一个 Bitmap 的 font 属性管理。
他有5个常用方法,分别是:
font.name = (name) 字体
font.size = (size) 文字尺寸
font.bold = (bool) 是否粗体?
font.italic = (bool) 是否斜体?
font.color = (color) 文字颜色
color 需要 Color 类的实例。它的设置是这样的:- # Code 1.4
- red = 255
- green = 255
- blue = 255
- alpha = 255
- color = Color.new(red, green, blue, alpha)
复制代码 同样,最后一个参数是不必要的。
这些东西的详细内容可以在F1的游戏库当中查到。这里点到即止好了。
然后还是看看示例吧:- # Code 1.5
- bmp = Bitmap.new("Sprite.jpg") #1
- bmp.font.color = Color.new(255,0,0) #设置画笔为红色
- bmp.font.size = 22 #设置为22号字体
- bmp.draw_text(0,0,6*22,22,"这是一段文字") #描绘文字
- bmp.font.color = Font.default_color #恢复画笔的默认颜色
- spr = Sprite.new #2
- spr.bitmap = bmp #3
- def update
- Graphics.update
- end
- loop do
- update
- end
复制代码 看到了红色的大字了吧。
< 第二节完 >
< 第三节 >
从简单的图片显示到复杂的战斗系统.rar
(416.44 KB, 下载次数: 118)
|
评分
-
查看全部评分
|