赞 | 0 |
VIP | 2 |
好人卡 | 1 |
积分 | 6 |
经验 | 27196 |
最后登录 | 2023-12-29 |
在线时间 | 169 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 594
- 在线时间
- 169 小时
- 注册时间
- 2008-10-29
- 帖子
- 431
|
在 Window_BattleResult 有如下这么多内容
#==============================================================================
# ■ Window_BattleResult
#------------------------------------------------------------------------------
# 战斗结束时、显示获得的 EXP 及金钱的窗口。
#==============================================================================
class Window_BattleResult < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
# exp : EXP
# gold : 金钱
# treasures : 宝物
#--------------------------------------------------------------------------
def initialize(exp, gold, treasures)
@exp = exp
@gold = gold
@treasures = treasures
super(160, 0, 320, @treasures.size * 32 + 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.y = 160 - height / 2
self.back_opacity = 160
self.visible = false
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
x = 4
self.contents.font.color = normal_color
cx = contents.text_size(@exp.to_s).width
self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
x += cx + 4
self.contents.font.color = system_color
cx = contents.text_size("EXP").width
self.contents.draw_text(x, 0, 64, 32, "EXP")
x += cx + 16
self.contents.font.color = normal_color
cx = contents.text_size(@gold.to_s).width
self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
x += cx + 4
self.contents.font.color = system_color
self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
y = 32
for item in @treasures
draw_item_name(item, 4, y)
y += 32
end
end
end
################################################
把上面这段改一下
改成如下的样子
彩色的字是改动的部分。
#################################################
class Window_BattleResult < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
# exp : EXP
# gold : 金钱
# treasures : 宝物
#--------------------------------------------------------------------------
def initialize(exp, gold, treasures)
@exp = exp
@gold = gold
@treasures = treasures
#一下条件语句判断得到的物品数是不是双数
#添加一个变量 len 来表征物品窗口的长度(纵向高度)
if @treasures.size % 2 ==0
#如果是 则物品窗口的行数为物品数目除以2,例如4个物品就是2行,6个就是3行
len = @treasures.size/2 * 32 + 64 #窗口的高就为行数*32再加上64
else
#如果物品的数目是单数,那么行数就为物品数目除以2再加1,如5个物品就是3行。
len = (@treasures.size/2 + 1)* 32 + 64#窗口的高就为行数*32再加上64
end
super(160, 0, 320, len) #用len来定义物品窗口的高
self.contents = Bitmap.new(width - 32, height - 32)
self.y = 160 - height / 2
self.back_opacity = 160
self.visible = false
refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
x = 4
self.contents.font.color = normal_color
cx = contents.text_size(@exp.to_s).width
self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
x += cx + 4
self.contents.font.color = system_color
cx = contents.text_size("EXP").width
self.contents.draw_text(x, 0, 64, 32, "EXP")
x += cx + 16
self.contents.font.color = normal_color
cx = contents.text_size(@gold.to_s).width
self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
x += cx + 4
self.contents.font.color = system_color
self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
#因为要两列显示 那么要定义显示物品名字的x坐标,初始值是4
x = 4
y = 32
num_item = 0 #定义一个变量做物品计数的累加器,初始值为0
for item in @treasures
draw_item_name(item, x, y)
#####################双列显示
if num_item % 2 ==0
#如果这个num_item 是2的倍数,那么下一个物品要显示在右列
x+= 140 #右列的x坐标
num_item += 1 #num_item 计数器自加1
else
#######################
y += 32 #如果不是2的倍数,那么下一个物品还显示再左列,但纵坐标就要下移
x = 4 #横坐标为3
num_item += 1 #num_item 计数器自加1
end
end
end
end
彩色部分是改上去的内容 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|