★RGSS教学2★ 标题:《修改2:空手攻击的动画》 简介:是修改1的继续。因为在修改1完成后,空手攻击的场合没有攻击动画,现在给它设定出来。 地址:http://windmesser.tm.land.to/rgss/rgss002.html 翻译:柳柳 这个是像与上次同样地,变更actor的攻击动画的设定方法。
Game_Actor 有,animation1_id,animation2_id,设定着通常攻击时使用的战斗动画编号。
Game_Actor::animation1_id & animation2_id #-------------------------------------------------------------------------- # ● 通常攻撃 攻撃側アニメーション ID の取得 #-------------------------------------------------------------------------- def animation1_id weapon = $data_weapons[@weapon_id] return weapon != nil ? weapon.animation1_id : 0 end #-------------------------------------------------------------------------- # ● 通常攻撃 対象側アニメーション ID の取得 #-------------------------------------------------------------------------- def animation2_id weapon = $data_weapons[@weapon_id] return weapon != nil ? weapon.animation2_id : 0 end | 参照上次关联base_atk的修改,并没有很大差别。如果想使之表示决定了的战斗动画,直接设定为一个固定数值即可。譬如使用默认的「打击」。 因为「打击」的动画ID是4,决定作为这个对象方面的动画设定。
Game_Actor::animation2_id 改変(ID固定版) #-------------------------------------------------------------------------- # ● 通常攻撃 対象側アニメーション ID の取得 #-------------------------------------------------------------------------- def animation2_id weapon = $data_weapons[@weapon_id] return weapon != nil ? weapon.animation2_id : 4 end | 这样就直接拥有了空手攻击动画,如图:
一般情况下,这个修改已经足够了。可是,如果希望不同的角色使用不同的攻击动画,那这样还不够。这样的情况,试着设定一个数组,来决定攻击动画编号吧。
Game_Actor::animation1_id & animation2_id 改変(角色個別設定版) #-------------------------------------------------------------------------- # ● 通常攻撃 攻撃側动画 ID の取得 #-------------------------------------------------------------------------- def animation1_id array = [] if((id = array[@actor_id]) == nil) id = 0 end weapon = $data_weapons[@weapon_id] return weapon != nil ? weapon.animation1_id : id end #-------------------------------------------------------------------------- # ● 通常攻撃 対象側动画 ID の取得 #-------------------------------------------------------------------------- def animation2_id array = [] array[8] = 99 if((id = array[@actor_id]) == nil) id = 4 end weapon = $data_weapons[@weapon_id] return weapon != nil ? weapon.animation2_id : id end | 这里,array =[],表示创建了一个数组。 之后,array[角色编号]= 动画编号,这个分别设定了每个角色对应的空手攻击动画。 在上面的例子中,array[8] = 99表示把8号角色的空手攻击动画设置为99号动画。 依此类推,继续设定完全部角色即可。
如果某个角色没有特别设定动画(=nil了), 动画id就预先代入默认的动画ID。
效果如图:8号角色空手攻击时为99号动画 使此次actorID(角色编号)辨别。此外如果代替@actor_id为@class_id 的话,就变成按职业来指定空手攻击动画。请按照自己的爱好修改吧。 |