HUD

아방스님이 올린 HUD를 개조했습니다.

by 스리아씨 posted Sep 30, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Game 2013-09-30 14-29-49-751.jpg

개조 사항 : 아이템 관련을 모두 주석화 시킴
              : 크기를 줄임
              : 게이지 바 위치를 조정

※ 만약 실행이 안되면 첨부파일에 있는 텍스트 문서로 받아주세요.
※ 실험 결과, 스위치가 켜진 후 메뉴에 한번 들어가면 적용됩니다.



################################################################################
#                                                                              #
#                      ~~~~~ Copyright 2009 SojaBird ~~~~~                     #
#                                                                              #
################################################################################
module HUD_ITEM_HP_MP
  HUD_SWITCH = 1 # Turn this ON to show HUD
  
#~   ITEM_ID = 0 # Id of item to show
  ACTOR_ID = 0 # Id of actor to show hp/mp (actor1=0, actor2=1...actorN=N-1)
  
  HIDE = true # Hide if player is beneath the hud (true/false)
  OPACITY = 100 # Opacity when hidden
end
################################################################################
class Window_HUD_Item_HP_MP < Window_Base
  include HUD_ITEM_HP_MP
  
  def initialize
    super(0, 0, 90, 85)
    self.opacity = OPACITY
    self.visible = $game_switches[HUD_SWITCH]
    hide_status
    refresh
  end
  
  def refresh
    contents.clear
    @actor = $game_party.members[ACTOR_ID]
    @hp = @actor.hp
    @mp = @actor.mp
#~     @item = $game_party.item_number($data_items[ITEM_ID])
#~     item_icon = $data_items[ITEM_ID].icon_index
#~     draw_icon(item_icon, 0, 0)
#~     contents.draw_text(1, 0, contents.width - 24, WLH, @item, 2)
    draw_actor_hp(@actor, 0, 0, self.width - 32)
    draw_actor_mp(@actor, 0, 24, self.width - 32)
  end
  
  def hide_status
    if HIDE == true
      if $game_player.screen_x + 16 > self.x and
      $game_player.screen_y + 4 > self.y and
      $game_player.screen_x - 16 < self.x + self.width and
      $game_player.screen_y - 28 < self.y + self.height
        self.opacity = OPACITY
        self.contents_opacity = OPACITY
      else
        self.opacity = 255
        self.contents_opacity = 255
      end
    end
  end
  
  def update
    self.visible = $game_switches[HUD_SWITCH]
    return if !self.visible
#~     if @icon != $game_party.item_number($data_items[ITEM_ID]) or
      if #hp != @actor.hp or @mp != @actor.mp
      refresh
    end
  end
#~ end

#------------------------------------------------------------
# * Scene_Map: Attach HUD to map
#------------------------------------------------------------
class Scene_Map < Scene_Base
  alias start_hud start
  alias terminate_hud terminate
  alias update_hud update
  def start
    start_hud
    @item_hp_mp_hud = Window_HUD_Item_HP_MP.new
  end
  def terminate
    @item_hp_mp_hud.dispose
    terminate_hud
  end
  def update
    update_hud
    @item_hp_mp_hud.update
  end
end