Project1
标题:
【XP】关于超级战斗脚本的扩展
[打印本页]
作者:
ailinu
时间:
2011-12-8 21:13
标题:
【XP】关于超级战斗脚本的扩展
想通过修改战斗图 达到近乎全动画脚本的效果 开场动画 胜利动画 胜利静态都解决了 卡在了死亡动态转静态方面
原脚本
if @battler.damage == nil and @battler.dead?
if @battler.is_a?(Game_Enemy)
$game_system.se_play($data_system.enemy_collapse_se)
collapse
else
$game_system.se_play($data_system.actor_collapse_se)
@battler.battler_name = @battler.battler_name + "★死亡动态"
###思路是这里插入等待XX帧后 执行下面的更换图片,这里少个等待相关的脚本
@battler.battler_name = @battler.battler_name.split(/★/)[0]
@battler.battler_name = @battler.battler_name + "★死亡静态"
end
@battler_visible = false
end
复制代码
问题就是RMXP这个并行处理的等待脚本怎么弄?
类似这样的 游戏全局等待就不要发了 效果看上去卡屏一样
for i in 1..50
Graphics.update
end
自己尝试着修改 还是无限在 战斗动态那图上 请高手看看应该如何改 下面是自己乱改得 - -
if @battler.damage == nil and @battler.dead?
if @battler.is_a?(Game_Enemy)
$game_system.se_play($data_system.enemy_collapse_se)
collapse
end
if @battler.is_a?(Game_Actor)
$game_system.se_play($data_system.actor_collapse_se)
dengdai = 40 ##这个赋值应该放哪合适?
if dengdai > 0
dengdai -= 1
@battler.battler_name = @battler.battler_name + "★死亡动态"
end
if dengdai == 0
@battler.battler_name = @battler.battler_name.split(/★/)[0]
@battler.battler_name = @battler.battler_name + "★死亡静态"
end
end
@battler_visible = false
end
复制代码
作者:
iisnow
时间:
2011-12-11 11:50
dengdai的赋值肯定不能直接放在update里面啊,不然每次都会变成40再执行后面的,
并且你想要保证每次update对dengdai值读取的连续性,自然就要想到将dengdai改为实例变量了啊
首先将dengdai改为@dengdai(后面的都要加哦, 就是10,14行)
然后这样加一句吧:(修改赋值那一行,就是9行)
@dengdai = 40 if @dengdai == nil
复制代码
但是这样以后第二次死亡人物的时候就不等待了,于是还要在if @dengdai == 0 分歧里面加上一句:
@dengdai = nil
复制代码
好了~
其实想要并行的运行动画,用Thread类可以很轻松的解决,这里就不说了~
由于没有工程试验,只是纯粹从可行性上考虑的,有BUG就再说吧(@iisnow哦~)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1