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

Project1

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

关于个别敌人头上血条隐藏的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
跳转到指定楼层
1
发表于 2009-6-5 19:26:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
以下脚本是在敌人事件头上显示血条,敌人1的HP为变量501,敌人1的MAXHP为变量476,敌人2的HP为变量502,敌人1的MAXHP为变量477,在同一地图上。

我希望当开关103打开时,敌人1和敌人2头上的血条都能显示,关闭103号开关,敌人1头上的血条显示,敌人2头上的血条隐藏,应该怎么修改?添加的彩色脚本部分只能控制全部敌人事件的显示与全部隐藏


。。。。。。

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

     if  $game_switches[103] == false
       @sprite.visible =  true
     else
       @sprite.visible =  false
     end


   @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
   if @character.name == "敌人2"
     if  @hp != $game_variables[502] or
         @maxhp != $game_variables[477]
       @hp = $game_variables[502]
       @maxhp = $game_variables[477]
       hp = HPSP血条长度/($game_variables[477].to_f/$game_variables[502].to_f)
       if @maxhp > 0
         @sprite.bitmap.clear
         @sprite.bitmap.fill_rect(100,100, hp, 2,  Color.new(255,  0, 51))
       end
     end
   end
end
end
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
2
发表于 2009-6-5 19:50:53 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
3
 楼主| 发表于 2009-6-5 20:15:48 | 只看该作者
用事件的名字装载敌人的信息,那么怎么在分歧中判断敌人HP的减少?


我这么写的,用10号开关控制敌人2的血条,打开显示,关闭隐藏,但是当开关打开再关闭之后,地图上敌人2的血条没有刷新


      if @character.name == "敌人2" and $game_switches[10] == true
       #是主角的情况下,显示主角的HP
     if  @hp != $game_variables[7] or
         @maxhp != $game_variables[8]
     
       @hp = $game_variables[7]
       @maxhp = $game_variables[8]

       hp = HPSP血条长度/($game_variables[8].to_f/$game_variables[7].to_f)

       @sprite.bitmap.clear
       @sprite.bitmap.fill_rect(100,100, hp, 2,  Color.new(255,  0, 51))
     end
   end
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
4
发表于 2009-6-5 20:37:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
5
 楼主| 发表于 2009-6-5 20:47:56 | 只看该作者
这些,写在事件里就可以了?

name = "敌人,1,500,500"
data = name.split(/,/)  #装载数据

data[2] = data[2].to_i - 伤害

name = data
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
450
6
发表于 2009-6-5 20:52:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
7
 楼主| 发表于 2009-6-5 21:12:40 | 只看该作者
那么这一段要怎么改哦。。。变量都写成data[2],data[3]?不同的敌人还是要都写一遍??

     if @character.name == "敌人,1,1500,1500"
       name = "敌人,1,1500,1500"
       data = name.split(/,/)  #装载数据
     if  @hp != data[2] or
         @maxhp != data[3]
       @hp = data[2]
       @maxhp = data[3]
       hp = HPSP血条长度/(data[3].to_f/data[2].to_f)
       @sprite.bitmap.clear
       @sprite.bitmap.fill_rect(100,100, hp, 2,  Color.new(255,  0, 51))
     end
     end


     if @character.name == "敌人,2,500,500"
       name = "敌人,2,500,500"
       data = name.split(/,/)  #装载数据
     if  @hp != data[2] or
         @maxhp != data[3]
       @hp = data[2]
       @maxhp = data[3]
       hp = HPSP血条长度/(data[3].to_f/data[2].to_f)
       @sprite.bitmap.clear
       @sprite.bitmap.fill_rect(100,100, hp, 2,  Color.new(255,  0, 51))
     end
     end
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-5-12
帖子
41
8
发表于 2009-6-6 00:20:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
9
 楼主| 发表于 2009-6-6 19:23:36 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-13 15:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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