Project1

标题: 战斗显示头像的一个脚本的问题, [打印本页]

作者: 005020671    时间: 2010-7-20 10:49
标题: 战斗显示头像的一个脚本的问题,
本帖最后由 005020671 于 2010-7-25 18:22 编辑

脚本高手帮忙看一下,这是一个在横版战斗中显示头像的脚本,可是这有一个问题,
就是在被攻击时,显示的头像有问题,就是我方显示的头像是以敌人的ID号为准的,比如说,敌人的ID是3,那么我方在被攻击时,不管是谁被攻击都要在我方的头像里显示我方3号ID的头像,又比如敌人ID是10,那么这个敌人攻击我方时就要显示我方10号ID的头像,这样说不知道能不能说清楚,问题就出在("Graphics/Heads/head_#{$scene.active_battler.id}")的这个$scene.active_battler.id上面,可是我不会修改,试了好多办法都不行,高手帮忙看看啊,在线等。
  1. #==============================================================================
  2. # ■ Window_Head
  3. #------------------------------------------------------------------------------
  4. #  显示头像的窗口。
  5. #==============================================================================

  6. class Window_Head < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化窗口
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 350, 130, 130)
  12.     self.opacity = 160
  13.     self.contents = Bitmap.new(width - 32, height - 32)
  14.     @a = Sprite.new
  15.     @a.x = self.x + 15 ; @a.y = self.y + 15 ; @a.z = self.z + 1
  16.     @a.zoom_x = @a.zoom_y = 1.0
  17.     refresh
  18.   end
  19.   
  20.   def dispose
  21.     super
  22.     @a.dispose if [email protected]?
  23.   end  
  24.   
  25.   #--------------------------------------------------------------------------
  26.   # ● 刷新
  27.   #--------------------------------------------------------------------------
  28.   def refresh
  29.     self.contents.clear
  30.     if $scene.active_battler.nil?
  31.     @a.bitmap = Bitmap.new("Graphics/Heads/head_#{$game_party.actors[0].id}")     
  32.     else  
  33.     @a.bitmap = Bitmap.new("Graphics/Heads/head_#{$scene.active_battler.id}")
  34.     end
  35.   end
  36. end

  37. #==============================================================================
  38. # ■ Window_Head
  39. #------------------------------------------------------------------------------
  40. #  显示敌人头像的窗口。
  41. #==============================================================================

  42. class Window_Head2 < Window_Base
  43.   #--------------------------------------------------------------------------
  44.   # ● 初始化窗口
  45.   #--------------------------------------------------------------------------
  46.   def initialize
  47.     super(510, 350, 130, 130)
  48.     self.opacity = 160
  49.     self.contents = Bitmap.new(width - 32, height - 32)
  50.     @a = Sprite.new
  51.     @a.x = self.x + 15 ; @a.y = self.y + 15 ; @a.z = self.z + 1
  52.     @a.zoom_x = @a.zoom_y = 0.5
  53.     refresh
  54.   end
  55.   
  56.   def dispose
  57.     super
  58.     @a.dispose if [email protected]?
  59.   end  
  60.   
  61.   #--------------------------------------------------------------------------
  62.   # ● 刷新
  63.   #--------------------------------------------------------------------------
  64.   def refresh
  65.     self.contents.clear
  66.     if $scene.active_battler.nil?
  67.     @a.bitmap = Bitmap.new("Graphics/Heads/head2_#{$game_troop.enemies[0].id}")     
  68.     else  
  69.     @a.bitmap = Bitmap.new("Graphics/Heads/head2_#{$scene.active_battler.id}")
  70.     end
  71.   end
  72. end

  73. #==============================================================================
  74. # ■ Window_Sp
  75. #------------------------------------------------------------------------------
  76. #  显示策略点的窗口。
  77. #==============================================================================

  78. class Window_Sp < Window_Base
  79.   #--------------------------------------------------------------------------
  80.   # ● 初始化窗口
  81.   #--------------------------------------------------------------------------
  82.   def initialize
  83.     super(256, 325, 128, 64)
  84.     self.opacity = 0
  85.     self.contents = Bitmap.new(width - 32, height - 32)
  86.     refresh
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● 刷新
  90.   #--------------------------------------------------------------------------
  91.   def refresh
  92.     self.contents.clear
  93.     self.contents.draw_text(0,0,96,32,"SP:")      
  94.     self.contents.draw_text(0,0,96,32,$game_party.max_sp.to_s,2)
  95.   end
  96. end
复制代码

作者: 紫苏    时间: 2010-7-21 17:41
那你需要的是 $scene.active_battler 的攻击目标,记得好像 Game_Battler 里面有一个成员是 target,可以试试  $scene.active_battler.target.id,如果记错了希望看到的人指正一下
作者: 005020671    时间: 2010-7-25 18:22
回复 紫苏 的帖子


    谢谢啦,那天在网吧发的贴,一直没等到,一会我去试试,谢谢啦。




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