Project1
标题:
4格战斗待机图敌人死亡消失会先变不见怎么办
[打印本页]
作者:
牛肉面
时间:
2014-8-2 17:15
标题:
4格战斗待机图敌人死亡消失会先变不见怎么办
这是我根据教程改过的脚本,但是战斗时如果敌人死掉图像会被立马刷新为透明度0,很难看,怎么让敌人死亡时固定战斗图然后按正常方式消失?
@battler
@Wait
@frame @height
def update
super
@Wait += 1
if @wait % 10 == 0
@frame += 1
end
# 战斗者为 nil 的情况下
if @battler == nil
self.bitmap = nil
loop_animation(nil)
return
end
# 文件名和色相与当前情况有差异的情况下
if @battler.battler_name != @battler_name or
@battler.battler_hue != @battler_hue or
@frame != @frame_old
# 获取、设置位图
@battler_name = @battler.battler_name
@battler_hue = @battler.battler_hue
@frame_old = @frame
bmp = RPG::Cache.battler(@battler_name, @battler_hue)
rc = Rect.new(@frame % 4 * bmp.width / 4 ,0,bmp.width / 4,bmp.height)
if self.bitmap != nil
self.bitmap.dispose
self.bitmap = nil
end
self.bitmap = Bitmap.new(bmp.width / 4,bmp.height)
self.bitmap.blt(0,0,bmp,rc)
@width = bitmap.width
[url=home.php?mod=space&uid=291977]@height[/url] = bitmap.height
self.ox = @width / 2
self.oy = @height
###################################################################
# 如果是战斗不能或者是隐藏状态就把透明度设置成 0
#########################################################
if @battler.dead? or @battler.hidden
if @battler.is_a?(Game_Enemy)
self.opacity = 0
else
self.opacity = 255
end
end
end
复制代码
作者:
白鬼
时间:
2014-8-2 17:24
41-47行代码是错位的啊!41行直接进行判断
但是判断的效果是:
如果:战斗者死亡 或者 隐藏
所以,死亡的时候会立即透明
明白了吧?
把if去掉死亡的判断。
从41行到最后:
if @battler.hidden
if @battler.is_a?(Game_Enemy)
self.opacity = 0
else
self.opacity = 255
end
end
end
然后再把你用的4格战斗待机图那个脚本,定义一下敌人死亡后战斗图先变成死亡图,然后再消失。就好了。
主要是,你还得把你那个战斗图改变的脚本拿来
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1