设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1291|回复: 4
打印 上一主题 下一主题

[已经解决] 脚本出错了 来请教怎么改

[复制链接]

Lv1.梦旅人

梦石
0
星屑
330
在线时间
3 小时
注册时间
2010-7-20
帖子
3
跳转到指定楼层
1
发表于 2010-7-27 14:40:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x


我用的代码是

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#==============================================================================
# ■ Window_Help
#------------------------------------------------------------------------------
# 重新定义的内容,可以显示敌人的HP\MP百分比
# 作者:carol3_柳柳
#==============================================================================

class Window_Help < Window_Base
   def set_enemy(actor)
     self.contents.clear
     draw_actor_name(actor, 4, 0)
     draw_actor_state(actor, 140, 0)
     carol3_draw_hp_bar(actor, 284, 0)
     carol3_draw_sp_bar(actor, 460, 0)
     @text = nil
     self.visible = true
   end
   def carol3_draw_hp_bar(actor, x, y, width = 128) #宽度可调
     self.contents.font.color = system_color
     self.contents.fill_rect(x-1, y+17, width+2,6, Color.new(0, 0, 0, 255))
     w = width * actor.hp / [actor.maxhp,1].max
     self.contents.fill_rect(x, y+18, w,1, Color.new(255, 96, 96, 255))
     self.contents.fill_rect(x, y+19, w,1, Color.new(255, 0, 0, 255))
     self.contents.fill_rect(x, y+20, w,1, Color.new(128, 0, 0, 255))
     self.contents.fill_rect(x, y+21, w,1, Color.new(0, 0, 0, 255))
     self.contents.draw_text(x,y,128,32,$data_system.words.hp,1)
     self.contents.font.color = normal_color
   end
   def carol3_draw_sp_bar(actor, x, y, width = 128)
     self.contents.font.color = system_color
     self.contents.fill_rect(x-1, y+17, width+2,6, Color.new(0, 0, 0, 255))
     w = width * actor.sp / [actor.maxsp,1].max
     self.contents.fill_rect(x, y+18, w,1, Color.new(128, 255, 255, 255))
     self.contents.fill_rect(x, y+19, w,1, Color.new(0, 255, 255, 255))
     self.contents.fill_rect(x, y+20, w,1, Color.new(0, 192, 192, 255))
     self.contents.fill_rect(x, y+21, w,1, Color.new(0, 128, 128, 255))
     self.contents.draw_text(x,y,128,32,$data_system.words.sp,1)
     self.contents.font.color = normal_color
   end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


提示出错的是下面的super那一行


#--------------------------------------------------------------------------
   # ● 刷新画面
   #--------------------------------------------------------------------------
   def update
     super
     # 战斗者为 nil 的情况下
     if @battler == nil
       self.bitmap = nil
       loop_animation(nil)
       return
     end
     # 文件名和色相与当前情况有差异的情况下
     if @battler.battler_name != @battler_name or
        @battler.battler_hue != @battler_hue
       # 获取、设置位图
       @battler_name = @battler.battler_name
       @battler_hue = @battler.battler_hue
       self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
       @width = bitmap.width
       @height = bitmap.height
       self.ox = @width / 2
       self.oy = @height
       # 如果是战斗不能或者是隐藏状态就把透明度设置成 0
       if @battler.dead? or @battler.hidden
         self.opacity = 0
       end
     end
     # 动画 ID 与当前的情况有差异的情况下
     if @battler.damage == nil and
        @battler.state_animation_id != @state_animation_id
       @state_animation_id = @battler.state_animation_id
       loop_animation($data_animations[@state_animation_id])
     end
     # 应该被显示的角色的情况下
     if @battler.is_a?(Game_Actor) and @battler_visible
       # 不是主状态的时候稍稍降低点透明度
       if $game_temp.battle_main_phase
         self.opacity += 3 if self.opacity < 255
       else
         self.opacity -= 3 if self.opacity > 207
       end
     end
     # 明灭
     if @battler.blink
       blink_on
     else
       blink_off
     end
     # 不可见的情况下
     unless @battler_visible
       # 出现
       if not @battler.hidden and not @battler.dead? and
          (@battler.damage == nil or @battler.damage_pop)
         appear
         @battler_visible = true
       end
     end
     # 可见的情况下
     if @battler_visible
       # 逃跑
       if @battler.hidden
         $game_system.se_play($data_system.escape_se)
         escape
         @battler_visible = false
       end
       # 白色闪烁
       if @battler.white_flash
         whiten
         @battler.white_flash = false
       end
       # 动画
       if @battler.animation_id != 0
         animation = $data_animations[@battler.animation_id]
         animation(animation, @battler.animation_hit)
         @battler.animation_id = 0
       end
       # 伤害
       if @battler.damage_pop
         damage(@battler.damage, @battler.critical)
         @battler.damage = nil
         @battler.critical = false
         @battler.damage_pop = false
       end
       # korapusu
       if @battler.damage == nil and @battler.dead?
         if @battler.is_a?(Game_Enemy)
           $game_system.se_play($data_system.enemy_collapse_se)
         else
           $game_system.se_play($data_system.actor_collapse_se)
         end
         collapse
         @battler_visible = false
       end
     end
     # 设置活动块的坐标
     self.x = @battler.screen_x
     self.y = @battler.screen_y
     self.z = @battler.screen_z
   end
end

这个原本是系统默认的sprite_battler脚本

求解如何修正这个错误
(PS:不懂论坛图片怎么添加 只好添加成附件了)
  

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

2
发表于 2010-7-28 13:26:33 | 只看该作者
我表示这两个脚本一点关系都没有……
从错误上来看是因为Sprite_Battler 已经被释放(dispose)了,但是仍然调用了他的update方法,所以产生错误……
还是提供工程吧
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
330
在线时间
3 小时
注册时间
2010-7-20
帖子
3
3
 楼主| 发表于 2010-7-28 16:01:05 | 只看该作者
昨天研究了半天 终于发现了不是脚本错误 是前面一个动态光标的脚本冲突了
已经好了 谢谢啊
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
330
在线时间
3 小时
注册时间
2010-7-20
帖子
3
4
 楼主| 发表于 2010-7-28 16:03:42 | 只看该作者
……话说这个怎么把帖子改成已经解决……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

5
发表于 2010-7-28 19:39:06 | 只看该作者
1、请勿连帖
2、帖子左下角第四个编辑功能可以修改帖子内容和分类
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-30 15:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表