赞 | 1 |
VIP | 255 |
好人卡 | 52 |
积分 | 1 |
经验 | 77416 |
最后登录 | 2016-1-18 |
在线时间 | 1269 小时 |
Lv1.梦旅人 薄凉看客
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1269 小时
- 注册时间
- 2010-6-20
- 帖子
- 1316
|
1. 增加一个变量即可解决
class Game_Battler
attr_writer :_move_
def _move_
@_move_ = [] unless @_move_
return @_move_
end
end
然后就调整 Game_Actor
Game_Enemy
中的 screen_x screen_y 方法!
比如
alias screen_x_old screen_x
def screen_x
return screen_x_old + self._move_[0].nil? 0 : self._move_[0]
end
alias screen_y_old screen_y
def screen_y
return screen_y_old + self._move_[1].nil? 0 : self._move_[1]
end
然后需要移动的时候
actor._move_ = [x, y]
x y 均指 偏移量,可以为 负值。
2. Scene_Battle 4 中的 make_action_orders 方法 (生成行动循序)
你可以再加一次,也就是行动多次。
这也是部分版本 【连击】 脚本的原理。
比如
# 添加敌人到 @action_battlers 序列
for enemy in $game_troop.enemies
@action_battlers.push(enemy)
@action_battlers.push(enemy)
end
# 添加角色到 @action_battlers 序列
for actor in $game_party.actors
@action_battlers.push(actor)
@action_battlers.push(actor)
end
你会发现 每个敌人、角色 都会行动两次!!
3. Scene_Battle 4中的 make_skill_action_result(生成特技行动结果)
示例- class Scene_Battle
- alias make_skill_action_result_old make_skill_action_result
- def make_skill_action_result
- if @active_battler.states.include?(状态ID) and
- $data_skills[@active_battler.current_action.skill_id].atk_f == 100
- return
- end
- make_skill_action_result_old
- end
- end
复制代码 |
评分
-
查看全部评分
|