赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 3505 |
最后登录 | 2018-9-7 |
在线时间 | 14 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 14 小时
- 注册时间
- 2008-5-7
- 帖子
- 74
|
回复谷绿:
神思兄的脚本代码刚刚看了一下,若残云猜得不错,以下这一段应该就是用于判断CP满时,各Actor应采取的行动:
if battler.cp == battler.maxcp
case battler
when Game_Actor
@ttbar[battler].bitmap = RPG::Cache.system("actor_active")
unless ActorBar[battler.id].nil?
bitmap = RPG::Cache.system(ActorBar[battler.id][1])
else
bitmap = RPG::Cache.system(CP_缺省的角色[1])
end
@ttbar[battler].bitmap.blt(0,2,bitmap,bitmap.rect)
when Game_Enemy
@ttbar[battler].bitmap = RPG::Cache.system("enemy_active")
unless EnemyBar[battler.id].nil?
bitmap = RPG::Cache.system(EnemyBar[battler.id][1])
else
bitmap = RPG::Cache.system(CP_缺省的敌人[1])
end
@ttbar[battler].bitmap.blt(12,0,bitmap,bitmap.rect)
end
个人感觉,神思兄的Code,从逻辑上讲似乎还有疏漏。所谓条件判断逻辑,最大的忌讳便是多个条件子集的累加并非全集。简单而言,针对于A、B两实体,严密的条件判断逻辑应该是:
如果A且非B
do something……
如果B且非A
do something……
如果A且B
do something……
而神思兄的逻辑为:
如果A
do something……
如果B
do something……
假如出现A且B的情况,则可能发生错乱。谷绿所说的bug,可能由此而来。
不过,说到底本人还是新人,以上纯属个人推测,如有不当之处,还望谷绿以及各位前辈见谅~ |
|