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

Project1

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

[已经解决] 关于全屏显示文字

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
23 小时
注册时间
2007-8-16
帖子
61
跳转到指定楼层
1
发表于 2013-11-1 08:51:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我是脚本初学者,想做个全屏显示文字的功能要怎么做?
本身对话框自带的暗色背景上功能那种样子,我希望按照指定的尺寸(如400*300)的暗色框内显示文字
文字也会自动换行,请问我该怎么做呢?

点评

请问你打算用什么方式让这个对话框消失?  发表于 2013-11-1 21:50

Lv1.梦旅人

梦石
0
星屑
60
在线时间
23 小时
注册时间
2007-8-16
帖子
61
2
 楼主| 发表于 2013-11-3 12:06:29 | 只看该作者
本帖最后由 76213585 于 2013-11-2 21:09 编辑

@喵呜喵5
按确定键
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6643
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

3
发表于 2013-11-3 12:11:27 | 只看该作者
本帖最后由 余烬之中 于 2013-11-3 13:48 编辑

其实这是我计划上周做的项目…………可是因为种种原因,只做了一半就拖到了现在……
——————
@喵呜喵5 不是自动换行……那个早就实现了【书籍系统 http://rpg.blue/thread-337128-1-1.html
我现在要做的是调用精灵(感觉我学的很没有章法……因为也没有什么教程,前不久才知道这是ruby…………)
在Window_Base里有(这两个不是重点):
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取行高
  3.   #--------------------------------------------------------------------------
  4.   def line_height
  5.     return 24
  6.   end

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 计算窗口显示指定行数时的应用高度
  3.   #--------------------------------------------------------------------------
  4.   def fitting_height(line_number)
  5.     line_number * line_height + standard_padding * 2
  6.   end


重点在这里

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 计算行高
  3.   #     restore_font_size : 计算完成后是否恢复原本的字体尺寸?
  4.   #--------------------------------------------------------------------------
  5.   def calc_line_height(text, restore_font_size = true)
  6.     result = [line_height, contents.font.size].max
  7.     last_font_size = contents.font.size
  8.     text.slice(/^.*$/).scan(/\e[\{\}]/).each do |esc|
  9.       make_font_bigger  if esc == "\e{"
  10.       make_font_smaller if esc == "\e}"
  11.       result = [result, contents.font.size].max
  12.     end
  13.     contents.font.size = last_font_size if restore_font_size
  14.     result
  15.   end



滚动文字窗口中是这样的
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 更新绘制所有内容所需的高度
  3.   #--------------------------------------------------------------------------
  4.   def update_all_text_height
  5.     @all_text_height = 1
  6.     convert_escape_characters(@text).each_line do |line|
  7.       @all_text_height += calc_line_height(line, false)
  8.     end
  9.     reset_font_settings
  10.   end

它会先调用convert_escape_characters
所以在这个方法中加上换行就可以了(很繁琐,先绘制一遍再保存,效率更是渣,不过用起来倒不会卡,也不显得慢,如果不死认脚本,人类是察觉不到的)

点评

能够自动换行的滚动文字么…………文字高度该怎么去判断?  发表于 2013-11-3 13:14

评分

参与人数 1梦石 +1 收起 理由
Sion + 1 认可答案

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

4
发表于 2013-11-3 12:11:40 | 只看该作者
本帖最后由 喵呜喵5 于 2013-11-3 13:37 编辑
AVENTZERO 发表于 2013-11-3 12:06
@喵呜喵5
按确定键


窗口的尺寸是整个游戏中都不变还是随着自己的需要在游戏中也会发生改变?

=============================================================================

不,我说的是滚动文字窗口的自动换行,
滚动文字窗口的高度是按照所给的文字行数及其大小自动计算的,自动换行以后行数不就发生改变了?

@余烬之中  

点评

见上楼编辑内容  发表于 2013-11-3 13:49
我的计划是在显示滚动文字前面用正则表达式匹配,然后可以提供字幕、解说、过场文等,或许以后还会整合阅读……  发表于 2013-11-3 12:15
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
23 小时
注册时间
2007-8-16
帖子
61
5
 楼主| 发表于 2013-11-3 12:37:47 | 只看该作者
求LS大神指点!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
23 小时
注册时间
2007-8-16
帖子
61
6
 楼主| 发表于 2013-11-3 12:38:12 | 只看该作者
喵呜喵5 发表于 2013-11-3 12:11
窗口的尺寸是整个游戏中都不变还是随着自己的需要在游戏中也会发生改变? ...


其实我想要脚本调用显示文字并实现全屏   $w = Window_ShowText(窗口宽度,窗口高度,文字边界宽(自动换行用这样可以超过4行),类型(普通,暗块,透明),文字("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"))   
但是显示文字这个功能本身是事件内的,就不知道怎么修改了=-=
我参考了索引区的显示文字自动换行脚本,但是我不会直接用脚本调用,应该需要再写个def?

点评

LBQ
赶紧给我滚回去学Ruby基础(好吧我自重  发表于 2013-11-5 04:41
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
23 小时
注册时间
2007-8-16
帖子
61
7
 楼主| 发表于 2013-11-4 16:34:29 | 只看该作者
喵呜喵5 发表于 2013-11-3 12:11
窗口的尺寸是整个游戏中都不变还是随着自己的需要在游戏中也会发生改变?

============================ ...

嗷!其实我想要显示文字中的那种字一点点打出来的效果,当然还有就是能够达到居中显示,左对齐右对齐,还有就是背景可以替换素材,其实想了下就是各显示文字框,但是只是是多行的,放大的
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

8
发表于 2013-11-4 16:44:58 | 只看该作者
AVENTZERO 发表于 2013-11-4 16:34
嗷!其实我想要显示文字中的那种字一点点打出来的效果,当然还有就是能够达到居中显示,左对齐右对齐,还有就 ...

为了防止楼主连帖太严重于是用回复

其实其他的要求都挺好实现的,比较蛋疼的是居中显示、居右显示以及按确定键关闭窗口……

点评

我在iisnow的自动换行脚本内能不能加入强制换行,现在看来\n 无效,\k到第四行无效,这是为什么  发表于 2013-11-4 20:06
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22958
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
9
发表于 2013-11-4 17:05:01 | 只看该作者
本帖最后由 tseyik 于 2013-11-4 17:20 编辑

改以圖片顯示文字比較方便
圖片擴張脚本

点评

以前見看文字一个个显示的脚本,但不記得在那個網站  发表于 2013-11-4 20:09
=-=其实我就是想要文字一个个显示,如果是图片显示不是跪了  发表于 2013-11-4 19:49
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
23 小时
注册时间
2007-8-16
帖子
61
10
 楼主| 发表于 2013-11-4 19:37:00 | 只看该作者
喵呜喵5 发表于 2013-11-4 16:44
为了防止楼主连帖太严重于是用回复

其实其他的要求都挺好实现的,比较蛋疼的是居中显示、居右显示以及按 ...

class Window_ALLMessage < Window_Message
这样重写我能够复刻一个显示文字的功能吗?
我该在事件脚本中怎么调用????    $dialog = Window_ALLMessage.new   ?
然后我又该怎么显示文字呢>??      dialog.process_character(text.slice!(0, 1), text, pos) until text.empty?

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 06:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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