Project1
标题:
战斗头像的问题……
[打印本页]
作者:
冷夜残月
时间:
2008-8-26 19:46
标题:
战斗头像的问题……
唉,好不容易把脚本蒙对,头像显示了出来。但战斗中有2个人以上时,游戏速度变慢了,4个人战斗时FTP只剩下5……有没有办法缓解一下……
我在战斗中显示头像的脚本是这么写的
#==============================================================================
# ■ Window_BattleStatus
#------------------------------------------------------------------------------
# 显示战斗画面同伴状态的窗口。
#==============================================================================
class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
super(0, 320, 640, 160)
self.opacity = 160
self.contents = Bitmap.new(width - 32, height - 32)
@level_up_flags = [false, false, false, false]
self.opacity = 140
self.z = 1
self.contents.font.size = 20
refresh
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
super
end
#--------------------------------------------------------------------------
# ● 设置升级标志
# actor_index : 角色索引
#--------------------------------------------------------------------------
def level_up(actor_index)
@level_up_flags[actor_index] = true
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
actor = $game_party.actors
case i
when 0
testname = "batter"+actor.id.to_s
bitmap=Bitmap.new("Graphics/Heads/#{testname}")
src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(42, 0, bitmap, src_rect)
when 1
testname = "batter"+actor.id.to_s
bitmap=Bitmap.new("Graphics/Heads/#{testname}")
src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(202, 0, bitmap, src_rect)
when 2
testname = "batter"+actor.id.to_s
bitmap=Bitmap.new("Graphics/Heads/#{testname}")
src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(362, 0, bitmap, src_rect)
when 3
testname = "batter"+actor.id.to_s
bitmap=Bitmap.new("Graphics/Heads/#{testname}")
src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(522, 0, bitmap, src_rect)
end
actor_x = i * 160 + 4
draw_actor_name(actor, actor_x, 0)
draw_actor_hp(actor, actor_x, 64, 120)#32
draw_actor_sp(actor, actor_x, 96, 120)#64
if @level_up_flags
self.contents.font.color = normal_color
self.contents.draw_text(actor_x, 32, 120, 32, "等级上升")#96
else
draw_actor_state(actor, actor_x, 32)
end
end
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
super
# 主界面的不透明度下降
if $game_temp.battle_main_phase
self.contents_opacity -= 4 if self.contents_opacity > 191
else
self.contents_opacity += 4 if self.contents_opacity < 255
end
end
end
作者:
灯笼菜刀王
时间:
2008-8-27 00:15
for i in 0...$game_party.actors.size
actor = $game_party.actors
end
testname = "batter"+actor.id.to_s
bitmap=Bitmap.new("Graphics/Heads/#{testname}")
src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.contents.blt(42, 0, bitmap, src_rect)
就可以了~~~~~不用循环判断在分歧= =
作者:
冷夜残月
时间:
2008-8-27 19:11
不行啊……又变成了如下这样…………
作者:
IamI
时间:
2008-8-27 19:16
实际上你应该把bitmap的生成放进initialize里面,在refresh里面生成实在是很浪费时间和内存
作者:
冷夜残月
时间:
2008-8-28 01:52
怎么放
作者:
冷夜残月
时间:
2008-8-29 07:15
又沉了……我不懂得在initialize哪一行加……
作者:
白斑病赌东道
时间:
2008-8-29 09:14
在游戏中显示图片会严重拖慢游戏速度。。。尤其是在战斗中。。。。
作者:
冷夜残月
时间:
2008-8-31 02:13
如果能让显示三个人的头像不卡也行啊~~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1