| 赞 | 7 |
| VIP | |
| 好人卡 | |
| 积分 | 15 |
| 经验 | |
| 最后登录 | 2026-6-20 |
| 在线时间 | 815 小时 |
- 梦石
- 0
- 星屑
- 1461
- 在线时间
- 815 小时
- 注册时间
- 2013-8-3
- 回帖
- 355
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
表示不会用,有谁用过?
[fold]#==============================================================================
# F12 - 动态敌人 - By芙蕾娅
#------------------------------------------------------------------------------
# ★ - 新增 ☆ - 修改 ■ - 删除 ● - 无变更
#==============================================================================
module Freya
# 控制显示当前进度的变量ID
EnemyBehaviorType = /<(?:BehaviorType|动态种类)\s*(\d+)>/i
end
#==============================================================================
# ■ Game_Enemy
#------------------------------------------------------------------------------
# 管理敌人的类。本类在 Game_Troop 类 ($game_troop) 的内部使用。
#==============================================================================
class Game_Enemy < Game_Battler
def behavior_type
@bt = 0
enemy.note.each_line { |line|
if line =~ Freya::EnemyBehaviorType ; @bt = $1.to_i ; end}
return @bt
end
end
#==============================================================================
# ■ Sprite_Battler
#------------------------------------------------------------------------------
# 显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。
#==============================================================================
class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# ★ 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :zx
attr_accessor :zy
#--------------------------------------------------------------------------
# ☆ 初始化对象
#--------------------------------------------------------------------------
alias enemy_behavior_type_initialize initialize
def initialize(viewport, battler = nil)
enemy_behavior_type_initialize(viewport, battler)
return if battler.nil? or battler.is_a?(Game_Actor)
@behavior_type = @battler.behavior_type
@zx = @zy = 0.0
@Max = rand(30) + 100
@count = rand(@max)
@re = rand(1)
end
#--------------------------------------------------------------------------
# ☆ 更新画面
#--------------------------------------------------------------------------
alias enemy_behavior_type_update update
def update
enemy_behavior_type_update
return if @behavior_type == 0 or @count.nil?
@count += 1
if @count >= @max
@count = 0
if @re == 1
@re = 0
else
@re = 1
end
end
if @behavior_type == 1 # 呼吸
if @re == 0
@zy += 0.001
self.zoom_y = 1.0 + @zy
else
@zy -= 0.001
self.zoom_y = 1.0 + @zy
end
elsif @behavior_type == 2 # 透明化
if @re == 0
self.opacity += 2
else
self.opacity -= 2
end
end
end
end[/fold] |
|