查看: 1015|回复: 5

关于简单地图角色头上显示HP #by 66rpg学习

  [复制链接]
梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
回帖
384
发表于 2009-6-1 04:49:46 | 显示全部楼层 |阅读模式

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

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

×
以下脚本是在敌人事件头上只显示血条,敌人1的HP值为变量501,敌人1的MAXHP值为变量476,进入地图时我用一自动执行事件给两个变量赋值各=1000,赋值后打开独立开关。结果一进游戏就出错如下图,后来把自动执行换成并行处理就可以正常进游戏,别的都没改。这是为什么??





。。。。。。

class Sprite_Character < RPG::Sprite
attr_accessor :character                # 角色
def initialize(viewport, character = nil)
   super(viewport)
   @character = character
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new(160, 220)
   update
end
HPSP血条长度 = 30

   alias :update_hp_sp :update
   def update
     update_hp_sp
     @sprite.x = self.x - 115
     @sprite.y = self.y - 150  
   
   if @character.name == "敌人1"
       #是敌人1的情况下,显示敌人1的HP
     if  @hp != $game_variables[501] or
         @maxhp != $game_variables[476]
       @hp = $game_variables[501]
       @maxhp = $game_variables[476]
       hp = HPSP血条长度/($game_variables[476].to_f/$game_variables[501].to_f)
       @sprite.bitmap.clear
       @sprite.bitmap.fill_rect(100,100, hp, 2,  Color.new(255,  0, 51))
     end
   end
end
end
版务信息:本贴由楼主自主结贴~
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
回帖
408
发表于 2009-6-1 05:37:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
回帖
384
 楼主| 发表于 2009-6-1 05:43:08 | 显示全部楼层
我发个工程吧,敌人1事件设置为自动执行一进游戏就出错,改为并行处理就不出错。奇怪
下载
http://rpg.blue/upload_program/d/stella_ENEMY_124235894.rar


p  $game_variables[476].to_f 显示1000.0,直接 p hp 出错,显示:NameError
undefined local variable or method hp for #<Interpreter:0x10a5d48>
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
回帖
408
发表于 2009-6-1 16:47:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
回帖
384
 楼主| 发表于 2009-6-1 16:57:33 | 显示全部楼层
那么并行处理就是在进入地图的前面?我试了一下,似乎把变量先在Scene_Title里赋值再用自动执行就不会出错了
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
回帖
408
发表于 2009-6-1 16:59:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部