조회 수 317 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

>맵 이름을 뜨게하는 스크립트를 구하긴 했는데...
>
>특정경우에 맵이름을 뜨지 않게 하고 싶은데...
>
>그럴경우 어떤 명령어를 집어 넣어야 할까요???
>
>C에서는 문자변수중에서 좌측 첫글자만 뽑아오는 명령어가 있었는데...
>
>그런 명령어가 역활을 하는 명령어가 루비에도 있다고 하면
>
>Ruby에서는 어떤 명령어가 그 역활을 하는지좀 알고 싶어요...
>
>그것만 알면 if문으로 검사해서 대충 바꿔볼수있을꺼 같아서 말이죠^^;;;
>
>
>-- 혹시 특정문자를 집어넣으면 맵이름이 뜨지 않는 맵이름뜨는 스크립트가 --
>-- 존재하고 있다면 그 스크립트를 좀 알려주시지 않겠어요..?? --
>-- 없다면 위에 명령어관련 물음이라도.. 제발.. ㅜ.ㅜ--


제가 사용하고 있는 스크립트 올려드리겠습니다. 보통 맵 이름 띄우는 스크립트에서는

맵 이름 앞에 . 을 찍어주면 이름이 뜨지 않습니다.

# ▼▲▼ XRXS20. 맵명 표시 윈도우 ver.1.04 ▼▲▼
# by , 앵아 재흙, fukuyama
#
# 맵명의 선두에 피리어드 「.」이 있으면(자) 맵명을 표시하지 않는다.
#
module XRXS20_Config
  # true (이)라면 전투후 , 맵으로 돌아왔을 경우도 표시한다
  SCENE_BATTLE_TO_SCENE_MAP = true
end

#==============================================================================
# ■ Window_Map_Name
#------------------------------------------------------------------------------
#  맵명을 표시하는 윈도우입니다.
#==============================================================================
class Window_Map_Name < Window_Base
  attr_accessor :text

  #--------------------------------------------------------------------------
  # ● 오브젝트 초기
  #--------------------------------------------------------------------------
  def initialize
    super(460, 0, 180, 64)
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    @align = 2
    @showing_time = -1
    @text_color   = Color.new(255, 255, 0, 255)      # 지명:묘사 문자색
  end
  #--------------------------------------------------------------------------
  # ● 텍스트 설정
  # text : 윈도우에 표시하는 캐릭터 라인
  # align : alignment (0..왼쪽 가지런히 해1..centering ,2..오른쪽맞춤)
  #--------------------------------------------------------------------------
  def set_text(text, align = 1)
    # 텍스트와 alignment의 적어도 한편이 전회와 다른 경우
    if text != @text or align != @align
      @text = text
      @align = align
      if text.empty? or text =~ /^./
        @showing_time = -1
        self.contents_opacity = 100
        self.visible = false
      else
        @showing_time = 100
        self.contents_opacity = 255
        self.visible = true
        self.contents.clear
        x = 4
        y = 0
        width = self.contents.width - 8
        str = " " +@text+ " "
        self.contents.font.color = Color.new(  0,  0,  0, 192)
        self.contents.draw_text(x+2, y+2, width, 32, str, @align)
        self.contents.font.color = Color.new( 64, 64, 64, 192)
        self.contents.draw_text(x-1, y-1, width, 32, str, @align)
        self.contents.draw_text(x+1, y-1, width, 32, str, @align)
        self.contents.draw_text(x-1, y+1, width, 32, str, @align)
        self.contents.draw_text(x+1, y+1, width, 32, str, @align)
        self.contents.font.color = @text_color
        self.contents.draw_text(x,   y,   width, 32, str, @align)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 재묘화
  #--------------------------------------------------------------------------
  def update
    return if @showing_time < 0
    @showing_time -= 1
  end
end
#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
  def initialize_map_name_window(text = nil)
    if @map_name_window.nil?
      @map_name_window = Window_Map_Name.new
      @map_name_window.opacity = 100
      @map_name_window.text = text if not text.nil?
    end
  end
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  alias xrxs20_main main
  def main
    # 지명 윈도우를 작성
    initialize_map_name_window
    # 되돌리는
    xrxs20_main
    # 지명 윈도우를 해방
    @map_name_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  alias xrxs20_update update
  def update
    # 지명 윈도우의 갱신
    @map_name_window.set_text($game_map.name)
    @map_name_window.update
    xrxs20_update
  end
end
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # ● 맵명을 취득
  #--------------------------------------------------------------------------
  def name
    $map_infos = load_data("Data/MapInfos.rxdata") if $map_infos.nil?
    $map_infos[@map_id].name
  end
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 메인 처리
  #--------------------------------------------------------------------------
  alias xrxs20_main main
  def main
    xrxs20_main
    if $scene.is_a?(Scene_Map) and (not XRXS20_Config::SCENE_BATTLE_TO_SCENE_MAP)
      $scene.initialize_map_name_window($game_map.name)
    end
  end
end


이건 제가 쓰고 있는 것이며, 약간 수정되어 있을겁니다. 제 취향에 맞게..하하하..
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
267 Dunky`s answer ! 덩키동크 2005.11.17 117
266 xp 전투시에 나오는 글들.. 필기도구 2005.11.28 117
265 간단한(?)질문 하나!! Ress 2006.01.06 117
264 장소 이동 후 낭패... 농장만든이 2006.01.09 117
263 여관에서 방문이... Polaris君 2006.02.05 117
262 게임 제작을 하는 방법을 모르겠어요. 한글화마스터 2006.03.07 117
261 스킬 레벨제? A. 미스릴 2006.06.07 117
260 그래픽 리소스를 사거나 다운 받을 수 있는 곳이 있을까요? 3 정술 2015.10.13 117
259 xp에서 계속 오류뜸. 늑대소년 2005.06.22 116
258 Dunky's answer ! 덩키동크 2005.06.28 116
257 스위치 예제입니다. file 덩키동크 2005.11.07 116
256 저 ... 몬스터 소환에대해 말하는데 담배소년 2006.01.09 116
255 오프닝 만들때 막힙니다. 헬푸~! 오션메이지 2006.02.05 116
254 경험치 표시... Ress 2006.02.12 116
253 이 아이템처리는 어떻게 합니까요 KBOY∮ 2006.02.12 116
252 말하는거 Novelist 2006.02.16 116
251 질문이요~~! 원조엔세데 2006.02.18 116
250 오늘따라 궁금한게 많네요..하나더요! 원조엔세데 2006.02.18 116
249 몇가지 질문 한글화마스터 2006.03.07 116
248 rm2x 아이템 사용여부 관련 문제입니다..! 꼭 봐주세요 ScolPion 2006.04.15 116
Board Pagination Prev 1 ... 424 425 426 427 428 429 430 431 432 433 ... 442 Next
/ 442






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)