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 5410
637 스킬 훔치기 스킬을 만드는 스크립트! 5 우켈킁 2011.03.31 2390
636 기타 회피,명중,크리 스테이트를 작성하는 스크립트 9 카르와푸딩의아틀리에 2009.06.30 2394
635 기타 확장 에러 메시지 13 file 허걱 2009.08.17 2497
634 메뉴 확장 스테이터스 화면 - KGC 23 file 카르와푸딩의아틀리에 2009.08.19 5057
633 기타 화폐단위 구분해 주는 스크립트 38 file 허걱 2010.04.13 3652
632 이동 및 탈것 화면의 부드러운 스크롤 스크립트 32 카르와푸딩의아틀리에 2009.07.17 3821
631 기타 화면에 그림 그리는 스크립트 21 file 강진수 2010.02.27 2962
630 기타 화면 확대 스크립트 12 file 에돌이 2011.07.22 3061
629 기타 화면 해상도(640 X 480) 스크립트 6 file 쿠쿠밥솥 2012.01.10 3972
628 아이템 현재있는 파티원 선택 레벨업 아이템 만들기 1 file 싸패 2016.06.06 718
627 헬프윈도우 확장 13 file RPGbooster 2008.10.08 2872
626 메뉴 헬프 윈도우 중앙표시 스크립트 11 file 양념통닼 2008.06.10 3348
625 키입력 해외 제작자 He Who Jets님의 마우스 스크립트(mouse system) 1 file 보자기군 2014.09.30 1265
624 기타 해상도 변경 스크립트 11 카리스 2011.07.19 2723
623 스킬 합성샾 스크립트 ^^ [동영상 포함] 6 file 아방스 2008.09.23 6038
622 키입력 한글입력기(펌) 수정 10 전설의달빛조각사 2011.04.03 2674
621 이름입력 한글로 이름 입력하는 스크립트입니다. 55 file 헤르코스 2009.03.18 6662
620 이름입력 한글 이름 입력 스크립트입니다.^^ 14 레시온 2008.03.18 4383
619 액터 한계돌파(렙9999) 18 작은샛별 2010.03.07 3273
618 이동 및 탈것 피티원이 따라다니는 스크립트 38 file 아방스 2009.02.05 5024
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 32 Next
/ 32