搜索附件  
同能RPG制作大师 附件中心 同能RM技术讨论区 RPG Maker XP 讨论区 从简单的图片显示到复杂的战斗系统.rar

从简单的图片显示到复杂的战斗系统.rar

 

[挖坑]从简单的图片显示到复杂的战斗系统:
不定期更新。
可能会坑爹,但是我尽量不坑。
这篇研究将会假定你已经了解RGSS/Ruby语法,如果不了解,请去看看F1的脚本入门再来。
如果没有问题的话,那么就开始了。

< 第一节 >
从根本来说,RGSS系统的主体应该这样的:
  1. # Code 1.1def update  Graphics.updateendloop do  updateend复制代码
复制代码
它由两个部分组成:
一个刷新画面的方法
一个不断调用方法的循环
它的逻辑很简单,我们甚至可以用两句话来概括:
        刷新画面、刷新画面。
没错,Graphics.update这个方法就是用来刷新画面的。

好了,现在你应该想要进一步丰富你的游戏内容,而不是无聊至极地一直刷新画面,而事实上
这个黑黝黝的画面也没有甚么好刷新的。

可是如果不进行刷新画面的话,程序唰一下就结束了。
[另外,如果10秒不刷新画面的话,RMXP会抛出一个错误并强行结束程序。RMVX则保持黑屏。]

那么,先让我们来了解两个东西。他们一个叫 Sprite,一个叫 Bitmap。我们翻译为精灵和位
图,但是他们实际上更像是画框和画纸。

现在,先选择一张你喜欢的图片吧。记住,RM 只支持 jpg、bmp、png 这三种格式的图片。

然后,我们要把他在 RM 的窗口中显示出来。

具体的步骤有三个,分别是
        1.加载bitmap
        2.生成sprite
        3.把 bitmap 塞到 sprite 里面去

这是一个简单的例子:
  1. # Code 1.2bmp = Bitmap.new("Sprite.jpg") #1spr = Sprite.new               #2spr.bitmap = bmp               #3def update  Graphics.updateendloop do  updateend复制代码
复制代码
你可以看到图片显示出来了。

< 第一节完 >

< 第二节 >
接下来,说的是文字的显示。

RM 没有能在黑色窗口背景上直接显示文字的方法。任何对于黑色背景的操作,都得通过
Bitmap。换句话说,我们只能在 Bitmap 上写字,然后把写有文字的 Bitmap 通过 Sprite,
贴到黑色背景上去。

你可以把 Bitmap 当作是一张可以被书写的画纸,嗯,上面也说过了。

在 Bitmap 上书写文字需要用 Bitmap 自带的一个方法:
  1. 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 类的实例。它的设置是这样的:
  1. # Code 1.4red     = 255green   = 255blue    = 255alpha   = 255 color = Color.new(red, green, blue, alpha)复制代码
复制代码
同样,最后一个参数是不必要的。

这些东西的详细内容可以在F1的游戏库当中查到。这里点到即止好了。

然后还是看看示例吧:
  1. # Code 1.5bmp = Bitmap.new("Sprite.jpg") #1bmp.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               #2spr.bitmap = bmp               #3def update  Graphics.updateendloop do  updateend复制代码
复制代码
看到了红色的大字了吧。

< 第二节完 >

< 第三节 >





             本帖来自P1论坛作者禾西,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=202143  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

GMT+8, 2024-9-21 16:26 , Processed in 0.038379 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部