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 7313
561 전투 KGC_BattlerEffect(버틀러 효과) 2 file 백호 2009.02.22 1968
560 기타 요리스크립트 (구) 6 *ps인간 2009.01.26 1968
559 키입력 전체키 입력 스크립트 v4 by Cybersam 5 file 백호 2009.02.22 1965
558 장비 Equipment Upgrade System 1.1 by Charlie Fleed Alkaid 2010.11.18 1959
557 HUD 게임 플레이시 맵의 이름을 표시하는 스크립트 1 file 백호 2009.02.21 1959
556 메뉴 KGC 메뉴화면 개조 스크립트 번역 3 file 백호 2009.02.22 1953
555 전투 RTAB방식의 CBS 스크립트 Final-2 5 file 백호 2009.02.22 1951
554 이동 및 탈것 자동으로 장애물을 피해가는 스크립트 13 file 백호 2009.02.22 1948
553 액터 Actor Customization 6.0.2 by Synthesize 4 file Alkaid 2010.09.17 1934
552 기타 RPG 만들기 XP의 숨겨진 모듈/클래스 재정의 스크립트 모음 1 Alkaid 2013.08.31 1932
551 전투 전투불능 케릭터 강제삭제 7 독도2005 2008.10.05 1927
550 전투 The Lycan ABS by DerVVulfman Alkaid 2013.07.22 1925
549 기타 mog-스테이터스 업그레이드? ps인간 2009.01.23 1920
548 [자작]일괄조작 관련 스크립트 5 나뚜루 2009.01.10 1920
547 전투 Mr. Mo's ABS Ultimate 1.9 by DerVVulfman 2 Alkaid 2011.12.01 1916
546 온라인 multy-netplay 로그인창에서 비밀번호를 ***표시해주는 script~! 1 백호 2009.02.22 1915
545 맵/타일 Editor Tiles by PK8 (XP/VX/VXA) Alkaid 2012.09.11 1904
544 그래픽 [자작]Bitmap에서 줄긋기, 네모그리기 6 나뚜루 2009.01.24 1900
543 기타 일시정지 스크립트 13 【§㉤ㅏ법㉧ㅣ§】 2011.02.26 1899
542 메뉴 링메뉴 제대로된것..오류안나느것. 7 백호 2009.02.21 1899
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