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

Project1

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

[已经解决] 请问怎么调整字号,以及能否只调整窗口位置为中时的长宽

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
16 小时
注册时间
2010-8-9
帖子
11
跳转到指定楼层
1
发表于 2015-4-1 13:50:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想把对话文字的字号调小,没有搜索到能理解的回答……
还希望把窗口位置为“中”时候的长宽调小,因为获得物品的消息很短,窗口显得太大了
搜到了一个对话框加强型脚本,但功能太多了看不明白,而且也用不到那么多,用自带的脚本能做到吗……

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分


一念之慈,万物皆善;
一心之嗔,千般为恶。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
16 小时
注册时间
2010-8-9
帖子
11
2
 楼主| 发表于 2015-4-3 20:07:30 | 只看该作者
顶一下T^T
这个问题也不是一个人问了,但我搜到的帖子不是看不懂就是零回复,难道改字号问题有零回复debuff吗

一念之慈,万物皆善;
一心之嗔,千般为恶。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

【欧皇】

梦石
3
星屑
2066
在线时间
1004 小时
注册时间
2013-8-19
帖子
3486

开拓者

3
发表于 2015-4-3 20:35:44 | 只看该作者
  1. Font.default_size = 字号
复制代码
  1. Window_Message < Window_Selectabl
  2. def initialize
  3. if $game_system.message_position == 1
  4. super(80, 304, 窗口宽, 窗口高)
  5. else
  6. super(80, 304, 480, 160)
  7. end
  8. self.contents = Bitmap.new(width - 32, height - 32)
  9. self.visible = false
  10. self.z = 9998
  11. @fade_in = false
  12. @fade_out = false
  13. @contents_showing = false
  14. @cursor_width = 0
  15. self.active = false
  16. self.index = -1
  17. end
  18. end
复制代码

评分

参与人数 2星屑 +166 收起 理由
hys111111 + 100 认可答案
明特·布兰马修 + 66 我很赞同

查看全部评分

QQ:2223942063
Q群:365819625
贪吃方1.4
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
16 小时
注册时间
2010-8-9
帖子
11
4
 楼主| 发表于 2015-4-4 16:30:45 | 只看该作者
欧买歌 发表于 2015-4-3 20:35

非常感谢,字号已经可以调整了!但是后一个脚本不知道怎么用,我用它覆盖了那个脚本原来的位置,改了数字,但是没有变化

一念之慈,万物皆善;
一心之嗔,千般为恶。
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

5
发表于 2015-4-5 09:47:23 | 只看该作者
单纯改字号(例如使用Font.default_size)只能改变字的大小,但不能改变行间距。
要改变行间距的话需要修改原Window_Message的144行
self.contents.draw_text(4 + x, 32 * y, 40, 32, c)最后的那个32.
另外,自动调整窗口长宽的代码如下(3L的脚本应该无法实现此效果):
RUBY 代码复制
  1. class Window_Message
  2.   def reset_window
  3.     if $game_temp.in_battle
  4.       self.y = 16
  5.     else
  6.       case $game_system.message_position
  7.       when 0  # 上
  8.         self.y = 16
  9.       when 1  # 中
  10.         if $game_temp.message_text != nil
  11.           text = $game_temp.message_text.clone
  12.           begin
  13.             last_text = text.clone
  14.             text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  15.           end until text == last_text
  16.           text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  17.             $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  18.           end
  19.           text.gsub!(/\\\\/) { "\000" }
  20.           text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "" }
  21.           text.gsub!(/\\[Gg]/) { "" }
  22.           text.gsub!("\000") { "\\" }
  23.           texts = text.chomp.split("\n")
  24.           c_width = texts.size == 0 ? 32 : 8 + texts.map{|s| self.contents.text_size(s).width}.max
  25.           c_height = texts.size == 0 ? 32 : texts.size * 32
  26.           self.width = 32 + c_width
  27.           self.height = 32 + c_height
  28.           self.contents.dispose if self.contents != nil
  29.           self.contents = Bitmap.new(c_width, c_height)
  30.           self.x = 320 - width / 2
  31.           self.y = 240 - height / 2
  32.         else
  33.           self.y = 160
  34.         end
  35.       when 2  # 下
  36.         self.y = 304
  37.       end
  38.     end
  39.     if $game_system.message_frame == 0
  40.       self.opacity = 255
  41.     else
  42.       self.opacity = 0
  43.     end
  44.     self.back_opacity = 160
  45.   end
  46. end

以上这段插入到Main前即可,此脚本和所有对话框脚本均冲突,如果使用对话框脚本请删除此脚本。

点评

行距的话我上面说的可能有点问题,两个32可能都需要改下,修改的时候保持一致即可。然后我脚本25行的那个32也要改  发表于 2015-4-5 23:29
成功了!大感谢!我本来下一步要问行间距怎么改的(。  发表于 2015-4-5 23:05
你那个改行间距的貌似无法更改其它窗口的行间距?  发表于 2015-4-5 10:24

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 19:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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