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

Project1

 找回密码
 注册会员
搜索

怎么让text在某个窗口居中 【已解决】

查看数: 2138 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-9-7 16:04

正文摘要:

本帖最后由 sq333333 于 2017-9-9 16:25 编辑 小白自己尝试修改了一下脚本, 不知道文字在窗口居中效果怎么写, 或者让窗口的宽度根据文字长度自动变化… 还有怎么让显示的窗口能变成系统对话框那种暗色背景的。 ...

回复

sq333333 发表于 2017-9-9 16:25:10
魔法丶小肉包 发表于 2017-9-8 18:27
第一种情况:使用显示文字
1.打几个空格就行了
2.

谢谢肉包,已经解决啦!
sq333333 发表于 2017-9-8 18:57:05
魔法丶小肉包 发表于 2017-9-8 18:27
第一种情况:使用显示文字
1.打几个空格就行了
2.

谢谢肉包大神,一直在帮我们小白。 真舍不得6R和你们这些大神呀。不知道将来论坛会搬去哪里……

点评

大神不敢当,我只是个萌新...或许这是最后一次帮忙了吧...=w=...除非以后有新论坛开放...  发表于 2017-9-8 19:33
魔法丶小肉包 发表于 2017-9-8 18:27:40
第一种情况:使用显示文字
1.打几个空格就行了
2.
RUBY 代码复制
  1. class Window_Message < Window_Base
  2.   def fiber_main
  3.     update_width
  4.     $game_message.visible = true
  5.     update_background
  6.     update_placement
  7.     loop do
  8.       process_all_text if $game_message.has_text?
  9.       process_input
  10.       $game_message.clear
  11.       @gold_window.close
  12.       Fiber.yield
  13.       break unless text_continue?
  14.     end
  15.     close_and_wait
  16.     $game_message.visible = false
  17.     @fiber = nil
  18.   end
  19.   def update_width
  20.     self.width = $game_message.texts[0].size * 30
  21.   end
  22. end

3.选择暗色背景

第二种情况:自己写窗口
1.
RUBY 代码复制
  1. text = "哈哈哈哈哈"
  2. draw_text(x, y, width, line_height, text,1)

也同样可以自己打空格
2.
RUBY 代码复制
  1. self.width = text.size * 30

3.
RUBY 代码复制
  1. def create_back_bitmap
  2.     @back_bitmap = Bitmap.new(width, height)
  3.     rect1 = Rect.new(0, 0, width, 12)
  4.     rect2 = Rect.new(0, 12, width, height - 24)
  5.     rect3 = Rect.new(0, height - 12, width, 12)
  6.     @back_bitmap.gradient_fill_rect(rect1, back_color2, back_color1, true)
  7.     @back_bitmap.fill_rect(rect2, back_color1)
  8.     @back_bitmap.gradient_fill_rect(rect3, back_color1, back_color2, true)
  9.   end
  10.   def back_color1
  11.     Color.new(0, 0, 0, 160)
  12.   end
  13.   def back_color2
  14.     Color.new(0, 0, 0, 0)
  15.   end
  16.   def create_back_sprite
  17.     @back_sprite = Sprite.new
  18.     @back_sprite.bitmap = @back_bitmap
  19.     @back_sprite.visible = true
  20.     @back_sprite.z = z - 1
  21.   end
  22.   def dispose
  23.     super
  24.     @back_bitmap.dispose
  25.     @back_sprite.dispose
  26.   end


如果是第二种情况(自己写窗口),上面已经说了大概的思路
这里还是举个例子:
RUBY 代码复制
  1. class A < Window_Base
  2.   def initialize
  3.     super(0,0,544,120)
  4.     create_back_bitmap
  5.     create_back_sprite
  6.     self.opacity = 0
  7.     refresh
  8.   end
  9.   def refresh
  10.     text = "哈哈哈哈哈"
  11.     self.width = text.size * 30
  12.     draw_text(x, y, width, line_height, text,1)
  13.   end
  14.   def create_back_bitmap
  15.     @back_bitmap = Bitmap.new(width, height)
  16.     rect1 = Rect.new(0, 0, width, 12)
  17.     rect2 = Rect.new(0, 12, width, height - 24)
  18.     rect3 = Rect.new(0, height - 12, width, 12)
  19.     @back_bitmap.gradient_fill_rect(rect1, back_color2, back_color1, true)
  20.     @back_bitmap.fill_rect(rect2, back_color1)
  21.     @back_bitmap.gradient_fill_rect(rect3, back_color1, back_color2, true)
  22.   end
  23.   def back_color1
  24.     Color.new(0, 0, 0, 160)
  25.   end
  26.   def back_color2
  27.     Color.new(0, 0, 0, 0)
  28.   end
  29.   def create_back_sprite
  30.     @back_sprite = Sprite.new
  31.     @back_sprite.bitmap = @back_bitmap
  32.     @back_sprite.visible = true
  33.     @back_sprite.z = z - 1
  34.   end
  35.   def dispose
  36.     super
  37.     @back_bitmap.dispose
  38.     @back_sprite.dispose
  39.   end
  40. end

评分

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

查看全部评分

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

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

GMT+8, 2024-11-25 05:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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