HUD

이름띄우기스크립트 - [ID홍길동] 이 아닌 [홍길동]으로 표기하기

by 블루레스 posted Nov 06, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

스크립트 : 비밀소년

스크립트 수정 : 블루레스

스크립트 사용방법 : 이벤트 이름란에 [ID...] 으로 입력하지 않고 [...] 으로 입력.

스크립트 삽입방법 : RPGXP / F11 / Main 위에 삽입 (2개를 만들어야 함)

 

스크립트1

#=================================================
# ■ 아이디를 띄우기 (사용 방법 정의)
#-------------------------------------------------
#  스크립트 : 비밀소년 / 수정 : 블루레스
#=================================================

class Game_Event < Game_Event
  def refresh
    super
    text = @event.name.dup
    text.gsub!(/[(.+?)]/) do
      @sprite_id = $1
    end
    @sprite_id = nil if @erased
    @sprite_id = nil if @character_name == ""
  end
end

class Game_Player < Game_Player
  def refresh
    super
    if $game_party.actors.size > 0
      @sprite_id = $game_party.actors[0].name
    end
  end
end

 

 

스크립트2

#=================================================
# ■ 아이디를 띄우기 (사용 방법 정의)
#-------------------------------------------------
#  스크립트 : 비밀소년 / 수정 : 블루레스
#=================================================


class Game_Character
  attr_accessor :sprite_id
end

class Sprite_Character < Sprite_Character
  def create_id_sprite(text)
    bitmap = Bitmap.new(160, 16)
    bitmap.font.name = "폰트명입력"            # 폰트명
    bitmap.font.bold = false                   # 폰트굵기 (ture, false)
    bitmap.font.size = 15
    bitmap.font.color.set(0, 0, 0)
    bitmap.draw_text(+1, +1, 160, 16, text, 1)
    bitmap.font.color.set(255, 255, 255)
    bitmap.draw_text(0, 0, 160, 16, text, 1)
    @_id_sprite = Sprite.new(self.viewport)
    @_id_sprite.bitmap = bitmap
    @_id_sprite.ox = 80
    @_id_sprite.oy = 14
    @_id_sprite.x = self.x
    @_id_sprite.y = self.y - self.oy / 2
    @_id_sprite.z = 3000
    @_id_sprite_visible = true
  end

  def dispose_id_sprite
    @_id_sprite.dispose
    @_id_sprite_visible = false
  end
 
  def update_id_sprite
    if @character.sprite_id != nil
      if not @_id_sprite_visible
        create_id_sprite(@character.sprite_id)
      end
      @_id_sprite.x = self.x
      @_id_sprite.y = self.y - self.oy
    else
      if @_id_sprite_visible
        dispose_id_sprite
      end
    end
  end
     
  def update
    super
    update_id_sprite
  end
end