XP 스크립트

#==============================================================================
# ■ Game_Name
#------------------------------------------------------------------------------
#  Name
#==============================================================================

class Window_NameInput < Window_Base
  CHARACTER_TABLE =
  [
    "A","B","C","D","E",
    "F","G","H","I","J",
    "K","L","M","N","O",
    "P","Q","R","S","T",
    "U","V","W","X","Y",
    "Z"," "," "," "," ",
    "a","b","c","d","e",
    "f","g","h","i","j",
    "k","l","m","n","o",
    "p","q","r","s","t",
    "u","v","w","x","y",
    "z"," "," "," "," "
  ]
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  def initialize
    super(0, 128, 640, 352)
    self.contents = Bitmap.new(width - 32, height - 32)
    @index = 0
    refresh
    update_cursor_rect
  end
  #--------------------------------------------------------------------------
  # ● 문자의 취득
  #--------------------------------------------------------------------------
  def character
    return CHARACTER_TABLE[@index]
  end
  #--------------------------------------------------------------------------
  # ● 리프레쉬
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0..179
      x = 4 + i / 5 / 9 * 152 + i % 5 * 28
      y = i / 5 % 9 * 32
      self.contents.draw_text(x, y, 28, 32, CHARACTER_TABLE[i], 1)
    end
    self.contents.draw_text(544, 9 * 32, 64, 32, "ID등록완료", 1)
  end
  #--------------------------------------------------------------------------
  # ● 커서의 구형 갱신
  #--------------------------------------------------------------------------
  def update_cursor_rect
    # 커서 위치가 [결정] 의 경우
    if @index >= 180
      self.cursor_rect.set(544, 9 * 32, 64, 32)
    # 커서 위치가 [결정] 이외의 경우
    else
      x = 4 + @index / 5 / 9 * 152 + @index % 5 * 28
      y = @index / 5 % 9 * 32
      self.cursor_rect.set(x, y, 28, 32)
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  def update
    super
    # 커서 위치가 [결정] 의 경우
    if @index >= 180
      # 커서하
      if Input.trigger?(Input::DOWN)
        $game_system.se_play($data_system.cursor_se)
        @index -= 180
      end
      # 커서상
      if Input.repeat?(Input::UP)
        $game_system.se_play($data_system.cursor_se)
        @index -= 180 - 40
      end
    # 커서 위치가 [결정] 이외의 경우
    else
      # 방향 버튼의 오른쪽이 밀렸을 경우
      if Input.repeat?(Input::RIGHT)
        # 압하 상태가 리피트가 아닌 경우인가,
        # 커서 위치가 우단이 아닌 경우
        if Input.trigger?(Input::RIGHT) or
          @index / 45 < 3 or @index % 5 < 4
          # 커서를 오른쪽으로 이동
          $game_system.se_play($data_system.cursor_se)
          if @index % 5 < 4
            @index += 1
          else
            @index += 45 - 4
          end
          if @index >= 180
            @index -= 180
          end
        end
      end
      # 방향 버튼의 왼쪽이 밀렸을 경우
      if Input.repeat?(Input::LEFT)
        # 압하 상태가 리피트가 아닌 경우인가,
        # 커서 위치가 좌단이 아닌 경우
        if Input.trigger?(Input::LEFT) or
          @index / 45 > 0 or @index % 5 > 0
          # 커서를 왼쪽으로 이동
          $game_system.se_play($data_system.cursor_se)
          if @index % 5 > 0
            @index -= 1
          else
            @index -= 45 - 4
          end
          if @index < 0
            @index += 180
          end
        end
      end
      # 방향 버튼아래가 밀렸을 경우
      if Input.repeat?(Input::DOWN)
        # 커서를 아래에 이동
        $game_system.se_play($data_system.cursor_se)
        if @index % 45 < 40
          @index += 5
        else
          @index += 180 - 40
        end
      end
      # 방향 버튼 위가 밀렸을 경우
      if Input.repeat?(Input::UP)
        # 압하 상태가 리피트가 아닌 경우인가,
        # 커서 위치가 상단이 아닌 경우
        if Input.trigger?(Input::UP) or @index % 45 >= 5
          # 커서를 위에 이동
          $game_system.se_play($data_system.cursor_se)
          if @index % 45 >= 5
            @index -= 5
          else
            @index += 180
          end
        end
      end
      # L 버튼이나 R 버튼이 밀렸을 경우
      if Input.repeat?(Input::L) or Input.repeat?(Input::R)
        # 히라가나 / 카타카나 이동
        $game_system.se_play($data_system.cursor_se)
        if @index / 45 < 2
          @index += 90
        else
          @index -= 90
        end
      end
    end
    update_cursor_rect
  end
end

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '2'
  • ?
    Krrrr7 2010.11.23 21:47

    에.. 히라가나 카타카나..?? 일본어..??

  • profile
    Tattoo 2011.01.26 04:42

    왜 오류나징  ㅜㅜ


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6203
561 스킬 스킬 추가 공격 스크립트 7 file 백호 2009.02.21 1697
560 이동 및 탈것 이벤트의 스크립트로 기동하는 점프 루트 완성 2 file 백호 2009.02.21 1698
559 전투 사이비 CTB 1 file 백호 2009.02.21 1701
558 이동 및 탈것 8방향 이동 & 대쉬 스크립트 5 백호 2009.02.21 1703
557 영상 The AVI Player 1.3 by DerVVulfman 3 Alkaid 2010.10.08 1707
556 전투 Kingdom Hearts 스타일의 전투 시스템 1 백호 2009.02.21 1709
555 기타 레벨, 능력치 무한 스크립트 3 백호 2009.02.22 1712
554 스킬 스킬 Learning 스크립트 1 file 백호 2009.02.21 1713
553 전투 KGC_SeparationCommand file 백호 2009.02.22 1713
552 상점 상점에서 Q.W버튼으로 순서를 바꿈!상점스텟 상세화 업그레이드 1 백호 2009.02.21 1714
551 기타 테트리스 ?구현 스크립트 2 file 백호 2009.02.21 1715
550 기타 양손무기, 전신갑옷 스크립트 2 백호 2009.02.22 1716
549 전투 KGC_RankConception(대열 개념) file 백호 2009.02.22 1719
548 직업 직업마다 다른 성장 2 백호 2009.02.22 1725
547 기타 창고 스크립트 5 긔염둥이♥ 2012.06.18 1727
546 기타 CG그림 감상 스크립트 file 백호 2009.02.21 1735
545 기타 일본RPGXP게임에서 번역한 스크립트 입니다. 1 백호 2009.02.22 1735
544 장비 CSSR5-장비품 중량 시스템 1 file 백호 2009.02.22 1736
543 기타 간단한 Scene_Base #2 2 Alkaid 2012.01.15 1738
542 메시지 Universal Message System 1.8.0 by ccoa 번역 4 file PerrS 2013.04.06 1739
Board Pagination Prev 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ... 52 Next
/ 52