기능추가
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  


  1. 일본어 스크립트를 번역하기 좋은 번역사이트 두곳입니다

    Date2010.01.09 Category공지사항 Byruby Views22078 Votes0
    read more
  2. 스크립트 게시판 관리자' ruby ' 입니다

    Date2010.01.09 Category공지사항 Byruby Views20725 Votes0
    read more
  3. 일본 스크립트/소스 공유 포럼

    Date2010.01.05 Category공지사항 By니오티 Views22249 Votes0
    read more
  4. 한글자씩 글자 나오는거 완전판!!(오류 하나도 없음)

    Date2013.07.09 Category대화관련 By만원만주라 Views2106 Votes0
    Read More
  5. 누구나 쉽게 만드는 액션알피지

    Date2012.11.25 Category전투관련 By펜릴 Views4344 Votes0
    Read More
  6. 화면이 부드럽게 이동돼는 스크립트

    Date2012.09.27 Category공통 Script By★Best갱신★ Views1999 Votes0
    Read More
  7. 혹시나해서 일정키로 스크롤X 화면 부드럽게만...(스크립트를 삭제를 조금 했습니다)

    Date2012.02.13 Category맵관련 By호호리터엉 Views1789 Votes0
    Read More
  8. 2D 로 가는길! 횡스크롤 이닷!

    Date2012.01.24 Category장르변경 By공냑군 Views2045 Votes0
    Read More
  9. 게이지바 스크립트!! 최고!!

    Date2011.08.08 Category기타 By코아 코스튬 Views4237 Votes0
    Read More
  10. 대화 창에 얼굴 넣기 스크립트

    Date2011.08.08 Category대화관련 By노르 Views3433 Votes0
    Read More
  11. 조금 다른 맵표시 스크립트

    Date2011.08.08 Category맵관련 By노르 Views1886 Votes0
    Read More
  12. NPC 위에 이름표시 하기 스크립트

    Date2011.08.08 Category시각적 효과 By노르 Views2477 Votes0
    Read More
  13. 초간단 XAS 오리지널.

    Date2011.08.04 Category전투관련 By호호리터엉 Views2614 Votes0
    Read More
  14. 전투 비슷???????????

    Date2011.07.29 Category스킬관련 By아오오오오옹니 Views1844 Votes0
    Read More
  15. 전체키 스크립트

    Date2011.07.19 Category기능추가 By닉네임이없습니다 Views2212 Votes0
    Read More
  16. 이름입력 스크립트

    Date2011.07.16 Category기타 By닉네임이없습니다 Views2208 Votes0
    Read More
  17. 맵이름 띄우기 (오류없이 진짜나옵니다)

    Date2011.07.06 Category맵관련 By지나가던개 Views2244 Votes0
    Read More
  18. 간단한 링 메뉴 스크립트(처음올리는 스크립트)

    Date2011.05.22 Category메뉴관련 Bylts1503 Views2171 Votes0
    Read More
  19. 이것은약간온라인이랑섞인듯? 어쨋든 클릭스크립트!!

    Date2011.02.23 Category온라인 By호호리터엉 Views2218 Votes0
    Read More
  20. W키눌러서 미니맵표시

    Date2011.01.22 Category맵관련 By호호리터엉 Views2760 Votes1
    Read More
  21. Shift키누르고 방향키누르면 화면스크롤되는것

    Date2011.01.21 Category맵관련 By호호리터엉 Views2581 Votes0
    Read More
  22. 맵이름 띄우기, 케릭터 ID띄우기

    Date2011.01.05 Category맵관련 By꼬마쟁이 Views7388 Votes0
    Read More
  23. 중복일것 같은데;; [한글 이름 입력]

    Date2011.01.05 Category기타 By꼬마쟁이 Views4641 Votes0
    Read More
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