VX 스크립트

#==============================================================================
# ★RGSS2
# STR04_맵 네임 표시 v0.8
# ·맵 화면에 맵명을 표시합니다.
# ·문자를 세로 그라데이션 묘화 가능.
# ☆맵명의 comment out(?) 기능부.
#  맵명의"#"이후의 문자를 컷 해 표시합니다.
#  (례) 불길의 동굴/2층#골방 그 1 → 불길의 동굴/2층
# ·이벤트중, 보행중에 비표시로 할 수 있습니다.
#==============================================================================
# ■ Sprite_Strmapname
#==============================================================================
class Sprite_Strmapname < Sprite
# 맵 네임 표시 위치
#TEXT_RECT = Rect.new(20, 16, 240, 20) # 왼쪽 갖춤
TEXT_RECT = Rect.new(272-260, 16, 320, 20) # 중앙 갖춤
#TEXT_RECT = Rect.new(544-336, 416-40, 320, 24 # 오른쪽 갖춤
# 폰트 네임
#TEXT_FONT = ["UmePlus Gothic", "MS P고딕"] # UmePlus 우선
TEXT_FONT = ["가을체", "UmePlus Gothic"] # MSP 고딕 우선
# 텍스트 사이즈
TEXT_SIZE = 18
# 문자 장식 [맵 네임전의 문자, 맵 네임 뒤의 문자]
TEXT_TEXT = ["", ""]
# 문자 가지런히 해 0:왼쪽 갖춤 1:중앙 갖춤 2:오른쪽 갖춤
TEXT_ALIGN = 1
# 텍스트연 잡기 true = 유효 false = 무효
TEXT_FRAME = true
# 테키스트그라데이션(세로) true = 유효 false = 무효
TEXT_GRADIENT = true
# 텍스트 칼라 [그라데이션↑,그라데이션↓,인연 잡기]
TEXT_COLOR = [Color.new(255,255,255), Color.new(255,224,80), Color.new(32,32,32)]
# 이탤릭·굵은 글씨 true = 유효 false = 무효
TEXT_ITAL = false
TEXT_BOLD = false
# 간이 배경 표시 true = 유효 false = 무효
TEXT_BACK = true
# 배경색 [그라데이션농, 그라데이션박]
TEXT_B_COLOR = [Color.new(100,30,30,160), Color.new(224,172,38,0)]
# 이벤트중은 비표시로 한다 true = 유효 false = 무효
TEXT_EVENT_V = true
# 플레이어 이동중은 비표시로 한다 true = 유효 false = 무효
TEXT_PMOVE_V = true
# 맵 네임의 comment out 문자 디폴트는 "#"
TEXT_C_OUT = "#"
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
#--------------------------------------------------------------------------
def initialize(viewport)
super(viewport)
t = TEXT_TEXT[0] + map_name(TEXT_C_OUT) + TEXT_TEXT[1]
self.visible = false if map_name(TEXT_C_OUT) == ""
r = TEXT_RECT
h = TEXT_SIZE + 2
bitmap = Bitmap.new(r.width, r.height)
# 배경 묘화
if TEXT_BACK
case TEXT_ALIGN
when 0
bitmap.gradient_fill_rect(16, 0, r.width-32, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
bitmap.gradient_fill_rect(0, 0, 16, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
when 1
bitmap.gradient_fill_rect(r.width/2, 0, r.width/2, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
bitmap.gradient_fill_rect(0, 0, r.width/2, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
when 2
bitmap.gradient_fill_rect(r.width-16, 0, 16, r.height, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
bitmap.gradient_fill_rect(32, 0, r.width-48, r.height, TEXT_B_COLOR[1], TEXT_B_COLOR[0])
end
end
# 폰트 설정
bitmap.font.name = TEXT_FONT
bitmap.font.size = TEXT_SIZE
bitmap.font.italic = TEXT_ITAL
bitmap.font.bold = TEXT_BOLD
# 인연 잡기
bitmap.font.shadow = false
if TEXT_FRAME
bitmap.font.color = TEXT_COLOR[2]
bitmap.draw_text(-1, 0, r.width, h, t, TEXT_ALIGN)
bitmap.draw_text(1, 0, r.width, h, t, TEXT_ALIGN)
bitmap.draw_text(0, 1, r.width, h, t, TEXT_ALIGN)
bitmap.draw_text(0, -1, r.width, h, t, TEXT_ALIGN)
bitmap.draw_text(+1, +1, r.width, h, t, TEXT_ALIGN)
else
bitmap.font.shadow = true
end
# 문자 A
b1 = Bitmap.new(r.width, r.height)
# 폰트 설정
b1.font.name = TEXT_FONT
b1.font.size = TEXT_SIZE
b1.font.italic = TEXT_ITAL
b1.font.bold = TEXT_BOLD
b1.font.color = TEXT_COLOR[0]
b1.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
bitmap.font.shadow = false
src = Rect.new(0, 0, r.width, r.height)
d = Rect.new(0, 0, r.width, r.height)
bitmap.stretch_blt(d, b1, src)
# 문자 B
if TEXT_GRADIENT
b2 = Bitmap.new(r.width, r.height)
# 폰트 설정
b2.font.name = TEXT_FONT
b2.font.size = TEXT_SIZE
b2.font.italic = TEXT_ITAL
b2.font.bold = TEXT_BOLD
b2.font.color = TEXT_COLOR[1]
b2.draw_text(0, 0, r.width, h, t, TEXT_ALIGN)
y = TEXT_SIZE + 4
src.height = 1
d.height = 1
# 그라데이션
for yy in 1..y
op = 260 * (yy/(y*1.0))
src.y = yy
d.y = yy
bitmap.stretch_blt(d, b2, src, op)
end
end
self.bitmap = bitmap
self.x = r.x
self.y = r.y
self.z = 100
@opacity = 0
self.opacity = @opacity
update
end
#--------------------------------------------------------------------------
# ● 해방
#--------------------------------------------------------------------------
def dispose
if self.bitmap != nil
self.bitmap.dispose
end
super
end
#--------------------------------------------------------------------------
# ● 프레임 갱신
#--------------------------------------------------------------------------
def update
if ($game_map.interpreter.running? and TEXT_EVENT_V) or (moving? and TEXT_PMOVE_V)
@opacity = [[@opacity - 32, -64].max, 256].min
else
@opacity = [[@opacity + 32, -64].max, 256].min
end
self.opacity = @opacity
end
#--------------------------------------------------------------------------
# ● 이동 판정
#--------------------------------------------------------------------------
def moving?
return (not $game_player.stopping?)
end
#--------------------------------------------------------------------------
# ● 맵 네임 취득
#--------------------------------------------------------------------------
def map_name(out)
n = $game_map.map_name.split('')
t = ""
for i in 0...n.size
break if n[i] == out
t += n[i]
end
return t
end
end
#==============================================================================
# ■ Spriteset_Map
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# ★ 추가
#--------------------------------------------------------------------------
def create_strmapname
@str_mapname = Sprite_Strmapname.new(@viewport2)
end
def dispose_strmapname
@str_mapname.dispose
end
def update_strmapname
@str_mapname.update
end
#--------------------------------------------------------------------------
# ★ 앨리어스(alias)
#--------------------------------------------------------------------------
alias initialize_str04 initialize
def initialize
create_strmapname
initialize_str04
end
alias dispose_str04 dispose
def dispose
dispose_str04
dispose_strmapname
end
alias update_str04 update
def update
update_str04
update_strmapname
end
end
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ★ 추가
#--------------------------------------------------------------------------
def map_name
map = load_data("Data/MapInfos.rvdata")
return map[@map_id].name
end
end
Comment '10'
  • ?
    베리☆ 2012.05.03 22:08

    캄사합니타ㅋㅋㅋㅋ

  • ?
    kallat 2012.05.06 21:55

    그냥확인하러올뿐이지 다운받으러온것도아닌데 눈팅족으로보일수도있음 나처럼

  • ?
    kallat님 축하합니다.^^ 2012.05.06 21:55
    포인트 팡팡!에 당첨되셨습니다.
    kallat님은 1포인트를 보너스로 받으셨습니다.
  • ?
    러닝금빛 2012.06.14 21:57

    근데 케릭터가 멈추면 영구적으로 뜨고,

     

    케릭터가 움직일때 사라집니다 ㅠ

  • profile
    팅이 2012.06.17 13:01

    추,추천이어딧지!

  • profile
    카온 2012.07.11 22:05
    해당 맵에 진입시 잠깐 보이게하고, 이후에 안보이게 할려면 어떻게 해야하나요?
  • ?
    레몬대파 2012.08.19 20:27
    잘 쓰겠습니다ㅎ
  • ?
    살아있는 사람. 2013.01.23 21:37
    다 좋은데,멈추면 영구적으로 뜨는게 아쉽다.ㅠㅠ
  • ?
    카즈마아디건 2013.05.01 12:49

    감사합니다 !

    잘 써요!

  • ?
    용굴 2016.12.31 18:48
    감사합니다.
    잘 사용하겠습니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5398
277 기타 Base Project 15 아방스 2009.02.05 3063
276 기타 화면 확대 스크립트 12 file 에돌이 2011.07.22 3061
275 장비 장비에 레벨제한 스크립트!! 21 ijsh515 2010.09.19 3040
274 이동 및 탈것 Wachunga님의 XP용 MapLink VX용으로 개조 6 file 허걱 2009.02.13 3039
273 메뉴 윈도우창 크기 조절 스크립트 0.3 5 아방스 2008.01.30 3038
272 스킬 체스트 팝업 3.0 9 file 파이어 2010.12.05 3037
271 장비 아이템 장비시 스킬습득, 'SW_EquipFinisher' by Siot Warrior 19 file 시옷전사 2010.08.31 3029
270 맵/타일 맵상 캐릭터 그래픽 확대 / 축소 이벤트 스크립트 6 시트르산 2010.09.10 3023
269 기타 카지노 슬롯머신 15 file 아방스가 짱 2010.02.28 3023
268 기타 메뉴에서 애니매이션 사용! 12 비극ㆍ 2010.04.19 3022
267 상태/속성 YERD - Custom Status Properties 7 훈덕 2009.11.08 3021
266 기타 땅파기 18 file 비극ㆍ 2010.04.19 3013
265 액터 동료가 따라다니게 하는 스크립트 (Woratana's Caterpillar System) 5 MinaAubert 2012.09.13 3012
264 파티 5인 파티 프로젝트 V1.1 4 file 지나가는떡꼬치 2012.06.30 2988
263 아이템 아이템 무게, 아이템별 소지수 적용 16 file 허걱 2010.11.11 2981
262 기타 KGC 리버스 데미지! 28 루시페르 2009.04.13 2979
261 아이템 드롭 아이템 확장 6 신규회원 2012.02.24 2977
260 기타 [요청자료] 유즈미짱 님께서 요청한 그림표시 입니다. 5 file 허걱 2009.07.08 2976
259 액터 (수정)크리쳐 합체, 'SW_CreatureMix' by SiotWarrior 22 file 시옷전사 2010.09.07 2972
258 전투 SRPGコンバータ for VX by AD.Bank 습작 2013.05.13 2970
Board Pagination Prev 1 ... 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... 32 Next
/ 32