赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 9 |
经验 | 4244 |
最后登录 | 2025-7-9 |
在线时间 | 235 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 937
- 在线时间
- 235 小时
- 注册时间
- 2011-6-9
- 帖子
- 42
|
这个在倒数第4行 @enemy_hp_window.dispose 中的'dispose'
这个是什么问题啊,释放窗口的时候出错了,应该怎样解决呢??
#==============================================================================
# ■ 显示敌人血条 by 沉影不器
#------------------------------------------------------------------------------
# 功能描述:
# ① 战斗时让敌人显示血条,宽度可定制
# ② 可选功能: 显示具体生命值 显示敌人名称
# 使用说明:
# ① 脚本插入到Main之前
# ② 脚本第19行设定血条的默认宽度
# 为个别敌人指定血条宽度是"数据库-敌角色-备注栏"填写"hp_width=数值"
# ③ 脚本第20行选择是否显示具体生命值
# ④ 脚本第21行选择是否显示敌人名称
# ⑤ 其它参数设定详见脚本
# ⑥ 此脚本需要基础脚本[读取rmvx备注栏指定字段]
#==============================================================================
# ■ 参数设定
#==============================================================================
module Enemy_HP
HP_WIDTH = 100 # 血条的默认宽度
SHOW_VALUE = true # 是否显示敌人生命值
SHOW_NAME = true # 是否显示敌人名称
NAME_SIZE = 3 # 敌人名称字体大小
NAME_COLOR = 0 # 敌人名称字体颜色
end
#==============================================================================
# ■ RPG
#==============================================================================
module RPG
class Enemy
def hp_width
end
end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ○ 血条宽度
#--------------------------------------------------------------------------
def hp_width
return $data_enemies[@enemy_id].hp_width
end
end
#==============================================================================
# ■ Sprite_Battler
#==============================================================================
class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# ◎ 初始化对象
# viewport : 视区
# battler : 战斗者 (Game_Battler)
#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
super(viewport)
@battler = battler
@battler_visible = false
@effect_type = 0 # 效果种类
@effect_duration = 0 # 效果剩余时间
if @battler.is_a?(Game_Enemy)
width = hp_width + 100
height = 24 + 100
x = @battler.screen_x - width/2
y = @battler.screen_y - height/2+70
# 调节名称位置
if Enemy_HP::SHOW_NAME
height += Enemy_HP::NAME_SIZE + 2
y -= Enemy_HP::NAME_SIZE + 2
end
# 生成血条窗体
@enemy_hp_window = Window_Base.new(x, y, width, height)
@enemy_hp_window.opacity = 0
@enemy_hp_window.contents_opacity = 0
@enemy_hp_window.contents = Bitmap.new(width - 32, height - 32)
@enemy_hp_window.draw_enemy_info(@battler, 0, 0, width )
# 保存旧血量(控制刷新)
@old_hp = -1
end
end
#--------------------------------------------------------------------------
# ◎ 释放
#--------------------------------------------------------------------------
def dispose
if self.bitmap != nil
self.bitmap.dispose
@enemy_hp_window.dispose
end
super
end
|
|