注意事项 |
玖肆伍的脚本教程(一) |
在位图区域 (x, y, width, height) 或矩形 rect (Rect 矩形类 ) 中描绘字符串 str 。
若 str 不是字符串对象,则会在执行之前,先调用 to_s 方法转换成字符串。
若文字长度超过区域的宽度,文字宽度会自动缩放,最高缩放60%。
文字的横向对齐方式预设为靠左对齐,可以设置 align 为 1 居中对齐,或设置为 2 靠右对齐。纵向则必定是总是居中对齐。
此处理需要花费时间,因此不建议每画格重绘一次文字。
执行从位图 src_bitmap 的矩形 src_rect (Rect 矩形类 ) 到指定的位图坐标 (x, y) 之间的区块过渡。
opacity 是透明度,范围 0~255。
这三句替换为:
获取使用 draw_text 方法描绘 str 字符串时所需要的区域(Rect 矩形类 ) 。该区域不包含轮廓部分 (RGSS3) 和斜体的突出部分。
若 str 不是字符串对象,则会在执行之前,先调用 to_s 方法转换成字符串。
生成色彩对象。alpha 值省略时使用 255。
如果参数没有指定,则默认设定为(0, 0, 0, 0)。 (RGSS3)
粗体标记。预设为 false。
总结 |
方法名 | LZ的解释 | F1/默认脚本的解释 |
self.contents.clear | 用来清除窗口的内容,相当于一个板擦。 | 清除整个位图。 (P.S 其实这里说的位图指的就是contents) |
self.contents.draw_text(x, y, width, height, str, [align]) | 在(x,y)处,以width为宽度,height为高度描绘str。 align是对齐方式,0为左对齐,1为居中,2为右对齐。可不填,默认为0(左对齐)。 | 在位图区域 (x, y, width, height) 或矩形 rect (Rect 矩形类 ) 中描绘字符串 str 。 若 str 不是字符串对象,则会在执行之前,先调用 to_s 方法转换成字符串。 若文字长度超过区域的宽度,文字宽度会自动缩放,最高缩放60%。 文字的横向对齐方式预设为靠左对齐,可以设置 align 为 1 居中对齐,或设置为 2 靠右对齐。纵向则必定是总是居中对齐。 此处理需要花费时间,因此不建议每画格重绘一次文字。 |
self.contents.draw_blt(x, y, src_bitmap, src_rect[, opacity]) | 在(x, y)处描绘src_bitmap 上的src_rect (那一块区域)。 opacity为透明度,范围在0~255之间,可不填。 | 执行从位图 src_bitmap 的矩形 src_rect (Rect 矩形类 ) 到指定的位图坐标 (x, y) 之间的区块过渡。 opacity 是透明度,范围 0~255。 |
方法名 | LZ的解释 | F1/默认脚本的解释 |
draw_actor_name(actor, x, y) | 在(x, y)处描绘actor的名字。 | —— |
draw_actor_face(actor, x, y) | 在(x, y)处描绘actor的头像。 | —— |
draw_actor_level(actor, x, y) | 在(x, y)处描绘actor的等级。 | —— |
方法名 | LZ的解释 | F1/默认脚本的解释 |
self.contents.text_size(str) | 获取在窗口内描绘str所需的范围。【矩形类(Rect)】 | 获取使用 draw_text 方法描绘 str 字符串时所需要的区域(Rect 矩形类 ) 。该区域不包含轮廓部分 (RGSS3) 和斜体的突出部分。 若 str 不是字符串对象,则会在执行之前,先调用 to_s 方法转换成字符串。 |
方法名 | LZ的解释 | F1/默认脚本的解释 |
self.contents.font.color = Color.new(R, G, B, [A]) | 把以下的文字的颜色改为(R, B, G, A)。 | 文字颜色(Color 色彩类 ))。也可以调整 alpha 值。预设为 (255,255,255,255)。 alpha 值也同时用来描绘文字阴影和文字轮廓。 |
self.contents.font.bold = true/false | 开启/关闭文字粗体。 | 粗体标记。预设为 false。 |
课后作业(可选) |
培优班 |
方法名 | 说明 |
self.width | 获取当前窗口的宽度。 |
self.height | 获取当前窗口的高度。 |
self.contents.width | 获取当前窗口可描绘内容的宽度。 |
self.contents.height | 获取当前窗口可描绘内容的高度。 |
Q&A |
包错因为全局变量不会自动保存,所以再次运行之类的就会出错…
在地图上放事件处理窗口可不是好办法哦~
嘛,要达到你说的功能可以这样然后把那个事件删掉就好了,这个怎么用……不解释……复制代码
- class Scene_Map < Scene_Base
- alias :old_map_start :start
- alias :old_map_update :update
- # 以上是给原方法取个别名什么的
- def start
- old_map_start # 调用原方法
- @mapsta = Window_MapStatus.new # 创建窗口
- end
- def update
- old_map_update
- @mapsta.update #更新窗口
- end
- # va用了魔法般的dispose处理所以这东西不用写了
- end
后记 |
contents.draw_text(0,0,contents.width,24,$game_party.members[0].name,2)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |