RPGXP 스크립트

아이디 띄우기

by 청담 posted Sep 24, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
#================================================= 
# ■ 아이디를 띄우기 (스프라이트 구현) 
#------------------------------------------------- 
#  Author: Bimilist(비밀소년) 
#  Desc: 머리위에 아이디를 띄웁니다 
#=================================================
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.size = 12 
    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 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 
    end 
  end 
      
  def update 
    super 
    update_id_sprite 
  end 
end
 
#================================================= 
# ■ 아이디를 띄우기 (사용 방법 정의) 
#------------------------------------------------- 
#  Author: Bimilist(비밀소년) 
#  Desc: 머리위에 아이디를 띄웁니다 
#    Usage: 이벤트 아이디의 이름: [ID(아이디)] 
#                주인공은 그딴거 할필요 없음 
#=================================================
class Game_Event < Game_Event 
  def refresh 
    super 
    text = @event.name.dup 
   
text.gsub!(/[[Ii][Dd](.+?)]/) do 
      @sprite_id = $1 
    end 
  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

출처: RKC