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 6202
761 메뉴 메뉴....있길래올립니다. 9 벨☆ 2010.01.23 2001
760 기타 턴제새로운거. 39 file 이안 2010.01.17 3297
759 기타 스탯 13 file 이안 2010.01.17 2325
758 직업 직업 10 file 이안 2010.01.17 2843
757 HUD 맵이름스크립트 52 file 이안 2010.01.17 3554
756 기타 rpgxp [체험판] 입니다. 6 file 인웅이 아부지 2010.01.12 2289
755 이동 및 탈것 텔레포트 스크립트. 11 XP광 2010.01.12 2395
754 스탯 포인트 시스템 3차수정 ( ' 백호 ' 님이 올리신 자료 수정.) 26 카이어덱터 2010.01.04 3346
753 HUD 이름띄우기스크립트 - [ID홍길동] 이 아닌 [홍길동]으로 표기하기 27 블루레스 2009.11.06 4056
752 온라인 NetRPGXP Client Core 일부분임 8 백호 2009.10.06 2885
751 전투 [액알]neo_a-rpg_module_1[1][1].2 스크립트 83 file 은빛바람 2009.10.03 8307
750 기타 한계 돌파스크립트 8 G MAX 2009.09.03 2206
749 기타 홈페이지 띄우기 (VX 상관없음.) 6 KNAVE 2009.08.25 2139
748 스킬 스킬샵 스크립트 16 file 독도2005 2009.08.24 4223
747 HUD [VX 가능] 이벤트 이름 띄우기 41 file 독도2005 2009.08.22 3904
746 기타 클리어 횟수 기록하기 1 file 허걱 2009.08.22 2194
745 이동 및 탈것 도트이동 5 file 허걱 2009.08.19 2891
744 스킬 스킬 컷인 - 전투시만.. 4 file 허걱 2009.08.16 3298
743 아이템 [LPG] 아이템 상세정보 - ◇ Last Update : 2009/08/11 ◇ 11 file Claymore 2009.08.16 3313
742 기타 스탭 롤 9 file 허걱 2009.08.13 2907
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 52 Next
/ 52