기타

아이디를 띄우기

by 12345678 posted Nov 07, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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




ID만들기 스크립트가 VX자료실에 없길래 XP버전에 있는 것을 약간 수정했습니다.

기능에 별다른 이상 없는걸로 알고잇고여 ㅎㅎ (ABS 같은 복잡한 스크립트보다는 아래에 추가하는것이 좋아여 ㅎㅎ)

 

 

 

XP 스크립트를 억지로(?) VX로 변환한거라 그런지 파티원 수가 0이 되면 게임진행이 불가능합니다.

 

 

 

 

 

 

 

↓ 아래부터 스크립트

↓ 아래부터 스크립트

↓ 아래부터 스크립트

 

 

 

 

#=================================================
# ■ 아이디를 띄우기 (스프라이트 구현)
#-------------------------------------------------
#  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, 18)
bitmap.font.name = "휴먼매직체"
bitmap.font.size = 14
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


#=================================================
# ■ 아이디를 띄우기 (사용 방법 정의)
#-------------------------------------------------
#  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 update
if @sprite_id != $game_party.members[0].name
refresh
end
super
end
def refresh
super
@sprite_id = $game_party.members[0].name
end
end