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

Project1

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

[已经解决] 怎样用脚本显示文本?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
帖子
36
跳转到指定楼层
1
发表于 2011-8-11 23:17:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xcqxhb2011 于 2011-8-11 23:19 编辑

初涉Ruby,想学一下怎样用脚本显示文字,就像事件里的显示文章一样,可以自己设置文字框位置之类的。我觉得这种脚本应该比较容易理解。

点评

需要纠正你一个观点,你应该说,你初涉 RGSS ?  发表于 2011-8-12 15:55

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
2
发表于 2011-8-11 23:18:16 | 只看该作者
去改写Window_Gold吧

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
帖子
36
3
 楼主| 发表于 2011-8-11 23:20:40 | 只看该作者
Wind2010 发表于 2011-8-11 23:18
去改写Window_Gold吧

??不太懂……是一个组吗?改了有什么效果呢?
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
4
发表于 2011-8-11 23:23:29 | 只看该作者
xcqxhb2011 发表于 2011-8-11 23:20
??不太懂……是一个组吗?改了有什么效果呢?

默认脚本中的Window_Gold类
个人认为这是一个比较容易修改的窗口类,里面涉及到了窗口生成、位置、画布、描绘方法等

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
帖子
36
5
 楼主| 发表于 2011-8-11 23:36:17 | 只看该作者
Wind2010 发表于 2011-8-11 23:23
默认脚本中的Window_Gold类
个人认为这是一个比较容易修改的窗口类,里面涉及到了窗口生成、位置、画布、 ...

我试试……不过……本帖重点在“画框显字”,好奇心爆发ing……


xcqxhb2011于2011-8-11 23:39补充以下内容:
怎么只有27行……
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
6
发表于 2011-8-11 23:39:31 | 只看该作者
xcqxhb2011 发表于 2011-8-11 23:36
我试试……不过……本帖重点在“画框显字”,好奇心爆发ing……

画框就是生成个窗口,显字就是
  1. self.contents.draw_text(x,y,w,h,str,align)
复制代码
具体其他的描绘多看看F1里的Bitmap

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
157 小时
注册时间
2011-7-17
帖子
128
7
发表于 2011-8-12 15:20:49 | 只看该作者
事件中的“显示文章”等:
1。显示文章
  1. $game_temp.message_text = "你想要的文字"
复制代码
比如你在事件脚本里打上$game_temp.message_text = "啊啊啊!",那就会出现一个对话框写着“啊啊啊!”。

2。更改对话框位置
  1. $game_system.message_position = 数字
复制代码
这个数字代表的是对话框的显示位置,默认的只有三个位置,但是可以通过在脚本Window_Message里面自行添加新的位置(不是本教程的内容,就不说了。)0代表在上面显示,1代表在中间,2代表在下面。当然也可以是别的数字,不过必须在Window_Message里面定义。
  1. #其实添加新位置就在Window_Message类里
  2. case $game_system.message_position
  3.         when 0 # 上
  4.           self.y = 16
  5.         when 1 # 中
  6.           self.y = 160
  7.         when 2 # 下
  8.           self.y = 304
  9.         end
复制代码
后面接着添就行了

3。更改对话框透明度
  1. $game_system.message_frame = 数字
复制代码
这里的数字只能是0或者1,0代表完全不透明,1代表完全不透明。当然这个和对话框的显示位置一样,也可以在脚本Window_Message里面添加新的选项以做出不同的透明度。
#方法同上,只是把if条件句换成case条件句就OK了.

点评

可以自己试试你写的第一条~  发表于 2011-8-15 07:06
在那遥远的地方——有一只小猫
这里没有字→
相信我吧。
回复

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
334
在线时间
1196 小时
注册时间
2010-12-18
帖子
3928

贵宾

8
发表于 2011-8-12 15:56:58 | 只看该作者
本帖最后由 忧雪の伤 于 2011-8-12 16:05 编辑

标准输出:
p(objects ... )
print(objects ...)


生成窗口:
window = Window_Base.new(x, y, width, height)


生成画布:
window.contents = Bitmap.new(window.width - 32, window.height - 32)


描绘文字:
window.contents.draw_text(x, y, width, height, str[, align])


an example:
  1. window = Window_Base.new(0, 0, 128, 64) # 调用 Window_Base.new ,构建实例。
  2. window.contents = Bitmap.new(0, 0, 32, 96) # 调用 Window#contents 。
  3. window.contents.draw_text(0, 0, 32, 96, 'window') # 调用 Bitmap#draw_text 。
  4. loop { Graphics.update } # 这个不需要理解。
复制代码
* 这个回帖有待完善。

点评

我承认我多写了一个(args)  发表于 2011-8-12 16:07
= =  发表于 2011-8-12 16:00
回复

使用道具 举报

Lv1.梦旅人

小小的百鬼夜行<

梦石
0
星屑
54
在线时间
579 小时
注册时间
2010-7-29
帖子
2682

贵宾

9
发表于 2011-8-12 16:00:02 | 只看该作者
本帖最后由 退屈£无聊 于 2011-8-12 16:06 编辑

好吧。
  1. class Window_NM < Window_Base
  2. def initialize(*args)
  3. super;self.contents = Bitmap.new(width-32,height-32)
  4. end
  5. def draw_text(text)
  6. self.contents.clear
  7. self.contents.draw_text(0,0,self.width,self.height,text,1)
  8. end
  9. end

  10. 先调个Window_NM
  11. 再用draw_text("我说我想要OOXX")
  12. XY什么的直接改就可以了。。
复制代码

点评

好寂寞的对话……  发表于 2011-8-17 13:45
Ahh, thanks my owner.  发表于 2011-8-12 16:28
so no questions now~~~  发表于 2011-8-12 16:26
But it runs on my computer and didn't find any questions!  发表于 2011-8-12 16:11
I have finished rewriting it(really?),and now it won't have the same bug.(It means,it may find some other questions but not this.)  发表于 2011-8-12 16:11
某只PHP/HTML小白鼠→退屈の间


Cause I knew you were trouble when you walked in
So shame is on me now
I flow me to place i ve never been
till you put me down oh
Now Im lying on the cold hard ground
回复

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
334
在线时间
1196 小时
注册时间
2010-12-18
帖子
3928

贵宾

10
发表于 2011-8-12 16:09:13 | 只看该作者
退屈£无聊 发表于 2011-8-12 16:00
好吧。

super(args) <=> super(*args)
pass a array <=> pass each item

点评

SOKA- -  发表于 2011-8-12 16:12
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-21 23:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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