VX 스크립트

일본 사이트 어디선가 퍼와서 번역사이트에 돌린 겁니다~(한마디로 설명이 개판)

오류 나도 난 몰라요~(일단 제 컴퓨터에서는 됩니다!)

#==============================================================================
# ★RGSS2
# STR04_맵 네임 표시 v1.0
# 서포트:http://otsu.cool.ne.jp/strcatyou/
# ·맵 화면에 맵명을 표시합니다.
# ·문자를 세로 그라데이션 묘화 가능.
# ☆맵명의 comment out(?) 기능부.
#  맵명의"#"이후의 문자를 컷 해 표시합니다.
#  (례) 불길의 동굴/2층#골방 그 1 → 불길의 동굴/2층
# ·이벤트중, 보행중에 비표시로 할 수 있습니다.
#==============================================================================
# ■ Sprite_Strmapname
#==============================================================================
class Sprite_Strmapname < Sprite
  # 맵 네임 표시 위치(세개 중 하나만 앞의 주석표시'#'을 제거하고 쓰시면 됩니다. 당연히 나머지 둘은 #표시 하셔야;)
  #TEXT_RECT = Rect.new(20, 16, 240, 20)           # 왼쪽 갖춤
  #TEXT_RECT = Rect.new(272-160, 16, 320, 24)     # 중앙 갖춤
  TEXT_RECT = Rect.new(544-336, 416-40, 320, 24)  # 오른쪽 갖춤
  # 폰트 
  #TEXT_FONT = ["UmePlus Gothic", "MS P고딕"] # UmePlus 우선
  TEXT_FONT = ["MS P고딕", "UmePlus Gothic"]  # MSP 고딕 우선
  # 글자크기
  TEXT_SIZE = 18
  # 문자 장식 [맵 네임전의 문자, 맵 네임 뒤의 문자]
  TEXT_TEXT = [" PLACE - ", ""]
  # 문자 가지런히 해 0:왼쪽 갖춤 1:중앙 갖춤 2:오른쪽 갖춤
  TEXT_ALIGN = 0
  # 텍스트연 잡기 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(0,0,0,160), Color.new(0,0,0,0)]
  # 이벤트중은 비표시로 한다 true = 유효 false = 무효
  TEXT_EVENT_V = true
  # 플레이어 이동중은 비표시로 한다 true = 유효 false = 무효
  TEXT_PMOVE_V = false
  # 맵 네임의 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 '33'

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 3 습작 2012.12.24 5398
637 전투 VLAD ABS [액알 시스템] 65 아방스 2009.01.07 12566
636 전투 vampyr SBABS-Requiem ABS 9(액알) 101 file 담먹캐 2009.11.01 12005
635 HUD rpg 만들기 vx - 맵이름 띠우는 스크립트 ^^ 74 아방스 2008.01.27 11925
634 HUD PRABS v1.0 [hud,주석액알,원거리공격,hotkeys,vx] 대박감이다. 47 유칸지 2008.08.13 11114
633 전투 사이드뷰배틀3.3 + ATB1.1 스크립트. 65 할렘 2009.02.01 10946
632 전투 ORBS [새로운 전투 방식] 48 file 아방스 2009.03.04 10210
631 그래픽 3D그래픽 파티클엔진 45 file RPGbooster 2008.10.08 10130
630 전투 rpgvx 간단액알 스크립트 제작: 41 *PS 2008.02.07 9824
629 메뉴 (모그메뉴 풀세트팩 SEL Style.) 유니크급 자료 147 file 할렘 2009.02.07 9558
628 전투 RPG Tankentai SBS 3.3 + ATB Kaduki Eng 58 아방스 2009.02.05 9071
627 전투 ATB전투방식.(사이드뷰X 백발의카임전투방식O) 14 file 이피쿤 2009.06.24 9035
626 메뉴 일본에서 만든 멋있는메뉴변경 스크립트 (한글 VX에서 쓰시면 자동으로 바뀜) 45 유칸지 2008.04.09 8861
625 전투 WGB배틀 시스템. 59 file 카르와푸딩의아틀리에 2009.06.30 8777
624 전투 Crissaegrim ABS 2.0.5 최신 48 file RPGbooster 2008.10.08 8768
623 전투 Requiem ABS 8 - 액션 배틀 시스템 8 36 아방스 2009.06.24 8540
622 전투 RPGTankentai SBS3.3b 버전 (사이드뷰) 21 file 카르와푸딩의아틀리에 2009.07.01 8455
621 전투 사이드뷰 스크립트 [2003 전투 방식] 39 아방스 2008.03.09 8406
620 맵/타일 RPG 만들기 VX 로 구현한 3D~ 42 아방스 2008.09.02 8405
619 메뉴 메뉴변경 스크립트 34 아방스 2008.01.24 7937
618 전투 PRABS 2.0 액션배틀시스템 58 file RPGbooster 2008.10.08 7575
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