조회 수 269 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
전체키사용스크립트를쓸려고하는데요
전체키스크립트가안돼요
대음양사님과같은경우인데요
게임을시작하면RPGXP에문제가있어서 뭐시기 나오고(오류보고보내는거요)
어떻게해야사용가능하죠??


스크립트는이겁니다




#------------------------------------------------------------------------------
# ●임의 키 취득 스크립트  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]
    # 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
번호 제목 글쓴이 날짜 조회 수
8827 쯔꾸르 mv 게임을 apk 파일로 변환했는데... 1 박하맛 2023.01.14 1330
8826 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요... 2 백지씨 2021.12.20 2627
8825 apk포팅 승인 어케 하나요? game메이커xp 2021.11.29 1257
8824 Yanfly님의 Action Sequence Pack 질문드립니다 Neuromancer 2021.07.15 1541
8823 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ? 2 Xatra 2021.07.06 1753
8822 RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ) 2 scribble 2021.01.22 1553
8821 아오오니를 하는 사람인데요 질문 두가지가 있어요 1 오니개무서워 2021.01.16 1634
8820 재밌는게임 land_tnt 2020.12.07 1455
8819 c언어 질문 세종기항19 2020.11.10 1684
8818 코딩 질문 1 세종기항19 2020.11.08 1539
8817 혹시나 물어보는데 드래곤규 2020.11.07 1402
8816 오픈보 게임 더블드래곤 리로디드 얼티네이트에 대해 궁금 이부닝 2020.09.09 1224
8815 상태이상 확률 결정 스트레이보우 2020.09.02 1006
8814 다음 인디사이드 제작대회는 언제쯤 열릴까요? WOONAALAA 2020.05.23 963
8813 xp로 제작된 어플 실행자체가 안된다는 분이 있습니다.(제생각엔 apk로 변환하는 과정에서 버전자체가 낮은 것 같습니다) 1 라엔 2020.05.04 1415
8812 apk 포팅하는데 게임 이름이 필요합니다 뜨는데 1 kashu 2020.05.03 1350
8811 쯔꾸르VX Ace렉먹음 도와주세요... 랖랖 2020.03.22 1780
8810 안녕하세요 1 청월령 2020.02.14 834
8809 포팅 중 '게임 이름이 필요합니다' 오류 2 아이비스 2020.02.11 817
8808 RPGMV 거리 추적 1 정욱 2020.01.19 931
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)