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

Project1

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

[已经过期] Window_BattleResul 的问题

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9058
在线时间
1860 小时
注册时间
2010-7-18
帖子
974
跳转到指定楼层
1
发表于 2012-8-18 22:12:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Window_BattleResul 这个视窗设计很奇怪, 数值越大排版越往右, 能改成在中间的吗 ?

就是不管整体数据如何都显示都在中间, 这好像叫置中吧 , 能办到吗 ?

Lv3.寻梦者

双子人

梦石
0
星屑
3165
在线时间
3616 小时
注册时间
2009-4-4
帖子
4154

开拓者

2
发表于 2012-8-19 10:00:11 | 只看该作者
  1. def refresh
  2.     self.contents.clear
  3.     x = 4
  4.     self.contents.font.color = normal_color
  5.     cx = contents.text_size(@exp.to_s).width
  6.     self.contents.draw_text(x, 0, cx, 32, @exp.to_s,对齐方式)
  7.     x += cx + 4
  8.     self.contents.font.color = system_color
  9.     cx = contents.text_size("EXP").width
  10.     self.contents.draw_text(x, 0, 64, 32, "EXP",对齐方式)
  11.     x += cx + 16
  12.     self.contents.font.color = normal_color
  13.     cx = contents.text_size(@gold.to_s).width
  14.     self.contents.draw_text(x, 0, cx, 32, @gold.to_s,对齐方式)
  15.     x += cx + 4
  16.     self.contents.font.color = system_color
  17.     self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold,对齐方式)
  18.     y = 32
  19.     for item in @treasures
  20.       draw_item_name(item, 4, y)
  21.       y += 32
  22.     end
  23.   end
复制代码
对齐方式:水平方向默认为左对齐,但是当 align 指定为 1 时为居中对齐,指定为 2 时为右对齐。垂直方向则总为居中对齐。

点评

@exp.to_s 和 @gold.to_s 似乎不会动哪 只有字会动  发表于 2012-8-19 13:18

评分

参与人数 1星屑 +40 收起 理由
hcm + 40 感谢回答

查看全部评分

回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9058
在线时间
1860 小时
注册时间
2010-7-18
帖子
974
3
 楼主| 发表于 2012-8-19 13:25:26 | 只看该作者

我想像的是 :

假如窗口长320 , 经验值和金钱整条假如长160

那么居中的情况应该是左右两边都空80才对

当然数值的大小会影响到经验值+金钱的长度

但是居中的情况左右空的位置应该也是对等大小
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3165
在线时间
3616 小时
注册时间
2009-4-4
帖子
4154

开拓者

4
发表于 2012-8-19 15:46:30 | 只看该作者
ms0688987 发表于 2012-8-19 13:25
我想像的是 :

假如窗口长320 , 经验值和金钱整条假如长160

draw_text(x, y, width, height, str[, align])
那你还需要调整一下它的宽度。因为这个也决定着它居中的位置。
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9058
在线时间
1860 小时
注册时间
2010-7-18
帖子
974
5
 楼主| 发表于 2012-8-19 18:43:23 | 只看该作者
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_BattleResult
  3. #------------------------------------------------------------------------------
  4. #  战斗结束时、显示获得的 EXP 及金钱的窗口。
  5. #==============================================================================
  6.  
  7. class Window_BattleResult < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     exp       : EXP
  11.   #     gold      : 金钱
  12.   #     treasures : 宝物
  13.   #--------------------------------------------------------------------------
  14.   def initialize(exp, gold, treasures)
  15.     @exp = exp
  16.     @gold = gold
  17.     @treasures = treasures
  18.     super(160, 0, 320, @treasures.size * 32 + 64)
  19.     self.contents = Bitmap.new(width - 32, height - 32)
  20.     y = 0
  21.     self.back_opacity = 160
  22.     self.visible = false
  23.     refresh
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 刷新
  27.   #--------------------------------------------------------------------------
  28. def refresh
  29.     self.contents.clear
  30.     self.contents.font.color = normal_color
  31.     self.contents.draw_text(4, 0, 281, 32, @exp.to_s+" "+"Exp"+"   "+@gold.to_s+" "+"Gold",1)
  32.     y = 32
  33.     for item in @treasures
  34.       draw_item_name(item, 4, y)
  35.       y += 32
  36.     end
  37.   end
  38. end


咱程度只能把整串用在一行显示了 , 各种长度目前是可以居中了

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-26 03:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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