Project1

标题: 怎么获取角色当前HP? [打印本页]

作者: 缺牙de兔子    时间: 2009-1-21 22:57
标题: 怎么获取角色当前HP?

  1. class Arpg_Actor
  2. #--------------------------------------------------------------------------
  3. # ● 定义实例变量
  4. #--------------------------------------------------------------------------
  5.   attr_accessor :Actor_id                 # 角色ID
  6.   attr_accessor :Actor_action             # 角色动作 0:什么都不做 1:移动 2:攻击 3:跳跃 4:中击 5:吟唱 6:死亡   
  7.   attr_accessor :Actor_look               # 角色的面向
  8.   attr_accessor :Actor_MapId              # 角色所在地图
  9.   attr_accessor :Actors_x                 # 角色的x坐标
  10.   attr_accessor :Actors_y                 # 角色的y坐标
  11. #--------------------------------------------------------------------------
  12. # ● 初始化对像
  13. #--------------------------------------------------------------------------
  14.   def initialize
  15.    
  16.     @Actor_id = $data_system.party_members[1]
  17.     @Actor_action=0
  18.     @Actor_look=8
  19.     @Actor_MapId=1
  20.     @Actors_x=0
  21.     @Actors_y=0
  22.   end  
  23.   def Actor_message
  24.     @actor_ms=Window_Selectable.new(0,0,0,0)
  25.     @actor_ms.update
  26.     @devil = Sprite.new
  27.     @devil.x = 0
  28.     @devil.y = 310
  29.     @devil.bitmap = RPG::Cache.picture("状态栏")
  30.     @[email protected]
  31.     message_refresh

  32.   end
  33.   def message_refresh
  34.     @devil1 = Sprite.new
  35.     @devil1.x = -30
  36.     @devil1.y = 380
  37.     @devil1.bitmap = Bitmap.new("Graphics/Battlers/"+$game_party.actors[@Actor_id-2].battler_name.to_s)
  38.     @actor_ms.windowskin.draw_text(1, 30, 120, 32,$game_party.actors[@Actor_id-2].name, 0)
  39.     @actor_ms.windowskin.draw_text(90, 120, 120, 32,"HP:", 0)
  40.     @actor_ms.windowskin.draw_text(90, 140, 120, 32,"SP:", 0)
  41.     Graphics.update
  42.    
  43.   end
  44. end
复制代码

我调用message_refresh时
@actor_ms.contents = RPG::Cache.battler($game_party.actors[@Actor_id-2].battler_name.to_s,0)这断脚本没起作用
我要在@actor_ms里面追加另一张图片要怎么写?
本来是想显示状态栏后再显示角色战斗图的



作者: ONEWateR    时间: 2009-1-21 23:41
@actor_ms2 = xx   {/fd}
作者: 缺牙de兔子    时间: 2009-1-22 00:16
不对--
我是想在不创建对象的情况下追加一个图片上去

这个问题可能没办法解决--
现在换另一个问题

  1. #--------------------------------------------------------------------------
  2. # ● 获得状态栏信息
  3. #--------------------------------------------------------------------------
  4.   def message_refresh
  5.     @b = Sprite.new
  6.     @b.x = -30
  7.     @b.y = 380
  8.     @b.bitmap = Bitmap.new("Graphics/Battlers/"+$game_actors[@Actor_id].battler_name.to_s)
  9.     @actor_ms.windowskin.draw_text(1, 30, 120, 32,$game_actors[@Actor_id].name, 0)
  10.     @actor_ms.windowskin.draw_text(90, 120, 120, 32,"HP:", 0)
  11.     @actor_ms.windowskin.draw_text(90, 140, 120, 32,"SP:", 0)
  12.     @actor_ms.windowskin.draw_text(122, 120, 120, 32,getHP.to_s, 0)
  13.     Graphics.update
  14.   end
  15. #--------------------------------------------------------------------------
  16. # ● 获得角色HP
  17. #--------------------------------------------------------------------------  
  18.   def getHP
  19.     return $game_actors[@Actor_id].base_maxhp
  20.   end
复制代码

如何获得角色当前的HP
并不是maxhp
作者: 缺牙de兔子    时间: 2009-1-22 04:38
找了半天--
我还以为$game_actors没有hp这个属性呢
我的状态显示就快完成了
角色当前HP $game_actors[@Actor_id].hp
角色maxHP $game_actors[@Actor_id].maxhp




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1