기능추가
2011.07.19 12:18

전체키 스크립트

조회 수 2212 추천 수 0 댓글 8
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
라이센스 기타 라이센스
출처 어디에서 퍼왔는지 까먹음...
강의종류 텍스트
사용/적용순서 1. 스크립트 에디터 Main 위에 새로운 스크립트를 만든다
2. 그곳에 이 스크립트를 붙여넣는다

적용
자세한건 스크립트에 적혀있다.

키보드 모든 버튼을 사용할 수 있는 스크립트입니다.,

 

 

 

#------------------------------------------------------------------------------
# ●임의 키 취득 스크립트  by tonbi
#  수정자 : [양키]
#  최신판의 정보나 버그 보고는 여기 → http://www.mc.ccnw.ne.jp/sarada/toshi/
#
# 이것을 사용한 것으로 ,이벤트의 스크립트로부터 ,
#
#   get_press(variable,key)       키가 눌러지고 있는가 취득
#   get_trigger(variable,key)     키가 누른 순간인지 취득
#   get_repeat(variable,key)      키가 눌러지고 있는가 취득(일정 시간마다)
#   get_press_all(variable)       상기의 일괄 취득 판
#   get_trigger_all(variable)     상기의 일괄 취득 판
#   get_repeat_all(variable)      상기의 일괄 취득 판
#
#   ※variable = 변수 ID  key = 키 ID 입니다.
#
# 이들이 실행할 수 있게 됩니다.
# 각각,지정한 넘버의 변수에 ,눌러지고 있다면 1,다르면0이 대입됩니다.
# 또,하단의 일괄 취득계는 ,지정한 변수의 넘버로부터 순서로,키 ID:0,1,2,···
# 토스 가와의 키 ID가 대입되고 갑니다.
#
# 조건 분기의 스크립트로 ,Key.press?(key) 라고(와) 넣으면 ,변수 사용하지 않고 분기될 수 있습니다.
# Key.trigger?(key),Key.repeat?(key) 모방할 수 있습니다.
#
# 키 ID 초기 설정은 ,(타이핑겜 기분?)
#
#      0 : 커서 키[←]
#      1 : 커서 키[↑]
#      2 : 커서 키[→]
#      3 : 커서 키[↓]
#      4 : [ENTER]
#      5 : [SPACE]
#      6 : [ESC]
#      7 : [BACKSPACE]
#      8 : [DELETE]
#      9 : [SHIFT]
#     10 : [CTRL]
#     11 : [ALT]
#     12 : [TAB]
#     13 : [CAPSLOCK]
# 14∼23 : [0]∼[9](메인 키보드)
# 24∼49 : [A]∼[Z]
# 50∼59 : [0]∼[9](텐 키)
#     60 : [,] (값)
#     61 : [.] (る)
#     62 : [/] (싹)
#     63 : [_] (로)
#     64 : [;] (れ)
#     65 : [:] (け)
#     66 : []] (무)
#     67 : [@] (")
#     68 : [[] (。)
#     69 : [-] (돛)
#     70 : [^] (에)
#     71 : [\]
#
# 아래쪽의 ★도장의 코멘트의 주변을 만지면,
# 필요하지 않는 키를 삭제하거나 ,늘리거나 를 할 수 있습니다.
# 키 코드의 지식이 필요합니다만 .
#  
#------------------------------------------------------------------------------
# ●스크립트로부터 직접 다양한 키를 취득하고 싶은 쪽에
#
# 1.취득하고 싶은 장면의 Input.update의 뒤 정답에 「Key.update」를 추가
# 2.Key.trigger?(keyID)로서 취득한다.press?,repeat?그러나 가
#   덧붙여서 되돌아가고 값은 Input의 경우와 동일한.
#
#------------------------------------------------------------------------------  
#==============================================================================
# ■ Key
# 키 취득을 관리한 클래스
#==============================================================================
module Key
  #----------------------------------------------------------
  # ● 오브젝트 초기화
  #----------------------------------------------------------
  def self.setup
    @keystatus=[]
    @getkeystate = Win32API.new("user32", "GetKeyState", "i", "i")
  end  
#----------------------------------------------------------
  # ● 갱신
  #----------------------------------------------------------
  def self.update
    for i in @keystatus
      num1 = false
      for j in i[1]
        num2=@getkeystate.call(j)
        if num2 != 1 and num2 != 0
          num1 = true
          break
        end
      end
      if num1 == false
        if i[0] > 0
          i[0] = i[0]*-1
        else
          i[0] = 0
        end
      else
        if i[0] > 0
          i[0] += 1
        else
          i[0] = 1
        end
      end      
    end
  end  
#----------------------------------------------------------
  # ● 키가 설정된 최대 삭
  #----------------------------------------------------------
  def self.max
    return @keystatus.size
  end
  #----------------------------------------------------------
  # ● 키 설정을 추가하다
  #     id    추가 선ID
  #     code  추가한 키 코드
  #----------------------------------------------------------
  def self.add_key(id,code)
    if @keystatus[id]=nil
      keystatus[id]=[]
    end
    @keystatus[id][0]=0
    @keystatus[id][1].push(code)
  end  
#----------------------------------------------------------
  # ● 키 설정을 삭제하다
  #     id    삭제 ID
  #----------------------------------------------------------
  def self.del_key(id)
    @keystatus[id]=nil
  end
  #----------------------------------------------------------
  # ● 키 설정을 일괄 변경하다
  #     val    키 설정의 배열,2 차원
  #     예 [[65],[66,67],[68]]
  #     졸참나무,  ID.0=A 키,ID.1=B와 C 키,ID.2=D 키와 설정
  #----------------------------------------------------------
  def self.add_key_set(val)
    @keystatus = []
    for i in 0...val.size
      if @keystatus[i]==nil
        @keystatus[i]=[]
      end
      @keystatus[i][0]=0
      @keystatus[i][1]=val[i]
    end
  end    
#----------------------------------------------------------
  # ● 키 설정을 일괄 삭제한다
  #----------------------------------------------------------
  def self.del_key_set
    @keystatus[i]=nil
  end
  #----------------------------------------------------------
  # ● 키 정보를 돌려 준다.Input와 동일한.
  #     id   키 ID
  #----------------------------------------------------------
  def self.press?(id)
    if @keystatus[id][0] > 0
      return true
    else
      return false
    end
  end
  def self.trigger?(id)
    if @keystatus[id][0] == 1
      return true
    else
      return false
    end
  end
  def self.repeat?(id)
    if @keystatus[id][0] <= 0
      return false
    else
      if @keystatus[id][0] % 5 == 1 and @keystatus[id][0] % 5 != 2
        return true
      else
        return false
      end
    end
  end
end  
#==============================================================================9
# ■ Scene_Title (키의 초기화 호출)
#==============================================================================
class Scene_Title
  alias main_tonbi12 main
  def main
    #----------------------------------------------------------------
    # ★여기를 만지면,키 ID와 키 코드의 설정을 바꾸는 일을 할 수 있습니다.
    # 1개의 ID에 여러 키 넣고 싶다면
    # 변수 val = [[37],[38],[39],[40],[13,32]]
    # 의과 같이2 차원 배열이 되도록 해 주십시오.
    # [13,32]과 같이 1개의 ID에 여러의 키를 설정할 수 있습니다.
    #
    set = [37,38,39,40,13,32,27,8,46,16,17,18,9,20,48,49,50,51,52,53,54,55,56,57,
65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
96,97,98,99,100,101,102,103,104,105,188,190,191,226,187,186,221,192,219,189,
222,220,145,113,114,115,116,117,118,119,120,121,122,19,33,34,35,36,45,91,92,93,
110,111,106,107,109,144]
    # 2 차원에 변환
    val = []
    for i in set
      val.push([i])
    end
    # set 가 아니고 val 에(로) 설정하십시오.set 은  1회용.
    #----------------------------------------------------------------
    Key.setup
    Key.add_key_set(val)
    Key.update
    main_tonbi12
  end
end  
#==============================================================================
# ■ Scene_Map (키의 갱신을 추가)
#==============================================================================
class Scene_Map
  alias update_tonbi12 update
  def update
    Key.update
    update_tonbi12
  end
end
#==============================================================================
# ■ Scene_battle (키의 갱신을 추가)
#==============================================================================
class Scene_Battle
  alias update_tonbi12 update
  def update
    Key.update
    update_tonbi12
  end
end  
#==============================================================================
# ■ Interpreter (이벤트>스크립트용 방법)
#==============================================================================
class Interpreter
  def get_press(variable,id)
    $game_variables[variable]= Key.press?(id) == true ? 1 : 0
  end
  def get_trigger(variable,id)
    $game_variables[variable]= Key.trigger?(id) == true ? 1 : 0
  end
  def get_repeat(variable,id)
    $game_variables[variable]= Key.repeat?(id) == true ? 1 : 0
  end
  def get_press_all(variable)
    for i in 0...Key.max
      $game_variables[variable+i]= Key.press?(i) == true ? 1 : 0
    end
  end
  def get_trigger_all(variable)
    for i in 0...Key.max
      $game_variables[variable+i]= Key.trigger?(i) == true ? 1 : 0
    end
  end
  def get_repeat_all(variable)
    for i in 0...Key.max
      $game_variables[variable+i]= Key.repeat?(i) == true ? 1 : 0
    end
  end
end  


List of Articles
분류 제목 글쓴이 날짜 조회 수 추천 수
공지사항 일본어 스크립트를 번역하기 좋은 번역사이트 두곳입니다 ruby 2010.01.09 22074 0
공지사항 스크립트 게시판 관리자' ruby ' 입니다 ruby 2010.01.09 20725 0
공지사항 일본 스크립트/소스 공유 포럼 4 니오티 2010.01.05 22249 0
대화관련 한글자씩 글자 나오는거 완전판!!(오류 하나도 없음) 만원만주라 2013.07.09 2106 0
전투관련 누구나 쉽게 만드는 액션알피지 6 펜릴 2012.11.25 4344 0
공통 Script 화면이 부드럽게 이동돼는 스크립트 2 ★Best갱신★ 2012.09.27 1999 0
맵관련 혹시나해서 일정키로 스크롤X 화면 부드럽게만...(스크립트를 삭제를 조금 했습니다) 호호리터엉 2012.02.13 1789 0
장르변경 2D 로 가는길! 횡스크롤 이닷! 공냑군 2012.01.24 2045 0
기타 게이지바 스크립트!! 최고!! 12 file 코아 코스튬 2011.08.08 4236 0
대화관련 대화 창에 얼굴 넣기 스크립트 4 file 노르 2011.08.08 3432 0
맵관련 조금 다른 맵표시 스크립트 file 노르 2011.08.08 1886 0
시각적 효과 NPC 위에 이름표시 하기 스크립트 2 file 노르 2011.08.08 2477 0
전투관련 초간단 XAS 오리지널. 1 file 호호리터엉 2011.08.04 2614 0
스킬관련 전투 비슷??????????? 아오오오오옹니 2011.07.29 1844 0
기능추가 전체키 스크립트 8 닉네임이없습니다 2011.07.19 2212 0
기타 이름입력 스크립트 2 닉네임이없습니다 2011.07.16 2207 0
맵관련 맵이름 띄우기 (오류없이 진짜나옵니다) 6 지나가던개 2011.07.06 2244 0
메뉴관련 간단한 링 메뉴 스크립트(처음올리는 스크립트) 1 lts1503 2011.05.22 2171 0
온라인 이것은약간온라인이랑섞인듯? 어쨋든 클릭스크립트!! 2 file 호호리터엉 2011.02.23 2218 0
맵관련 W키눌러서 미니맵표시 12 호호리터엉 2011.01.22 2760 1
맵관련 Shift키누르고 방향키누르면 화면스크롤되는것 7 file 호호리터엉 2011.01.21 2581 0
맵관련 맵이름 띄우기, 케릭터 ID띄우기 15 file 꼬마쟁이 2011.01.05 7387 0
기타 중복일것 같은데;; [한글 이름 입력] 1 꼬마쟁이 2011.01.05 4641 0
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

Copyright ⓒ Nioting All Rights Reserved. (since 1999)    개인정보
        

Fatal error: Cannot access property sessionController::$lifetime in /web/old/xe/modules/session/session.controller.php on line 45