가상 키패드 (ARCADE / MAME 콘솔용) : 도스게임 플레이어

 dosgameplayer

가상 키패드

ARCADE 콘솔용 설명입니다 


v0.63.0 키패드 UI 추가



아래의 모든 내용을 UI 로 적용 가능합니다.


콘솔별로 사용되는 키

keypad

콘솔별로 다양한 키조합과 키맵 정보를 사용합니다

키조합별 X, Y 위치 정보
키패드

정보들은 전부 게임별로 수정 가능합니다


제공되는 버튼을 사용할 경우
키패드

사용자가 키패드를 변경할 경우

JSON 으로 입력합니다

JSON 구조


[
  { "type": "button", "text": "A", "id": "a", "location": "right", "top": 40, "left": -70, "bold": true, "input_value": 0 },
  ...button 을 여러 개 입력 가능
  
  { "type": "zone", "location": "left", "left": "80%", "top": "70%", "joystickInput": false, "inputValues": [4, 5, 6, 7] },
  
  ...특수 버튼 4종 (select, start, Fast Forward, Slow Motion)
  { "type": "button", "text": "Select", "id": "select", "location": "left", "left": 30, "top": -50, "fontSize": 15, "block": true, "input_value": 2 },
  { "type": "button", "text": "Start", "id": "start", "location": "left", "left": 100, "top": -50, "fontSize": 15, "block": true, "input_value": 3 },
  { "type": "button", "text": "Fast", "id": "speed-fast", "location": "left", "left": 30, "top": -80, "fontSize": 15, "block": true, "input_value": 27 },
  { "type": "button", "text": "Slow", "id": "speed-slow", "location": "right", "left": 80, "top": -80, "fontSize": 15, "block": true, "input_value": 29 }
]
  

Type 종류

  • button : 버튼 입력
    • location : 버튼이 표시되는 구역, 4개 중에 선택 해야 함 (top, left, center, right)
    • text : 표현되는 문자 dos keypad 의 symbol 과 같다
    • id : 버튼을 구분하는 Unique 한 문자 사용
    • top : 버튼의 상하 위치 px (음수/양수의 숫자로 표기)
    • left : 버튼의 왼쪽 위치 px (음수/양수의 숫자로 표기)
    • input_value : 하단의 Input_value 정보
      • 값이 8 인 경우 'A' 키가 입력
      • 값이 0 인 경우 'B' 키가 입력
      • 값이 [[0,8]] 인 경우 'A','B' 키가 동시 입력
      • 값이 [8, 0] 인 경우 'A' 키 입력 후에 'B' 키 입력으로 combo  키를 만들 수 있음
        • combo : true
        • interval (기본: 500) : 콤보 키의 다음 입력까지의 간격 (ms)
        • delay (기본: 50) : 콤보 키가 눌려있는 시간 (ms)
    • block (기본은 false) : 사각형 버튼으로 표시
    • fontSize (기본:30) : text 의 크기
    • auto (true or false) : 반복 입력 여부 (0.1초 간격으로 반복)
    • combo (true or false) : 콤보 입력 여부
      • interval (기본: 500) : 콤보 키의 다음 입력까지의 간격 (값이 200 인경우 200 ms 이후에 다음 키 입력)
      • delay (기본: 50) : 콤보 키가 눌려있는 시간 (값이 80 인경우 80ms 동안 키를 누름)
  • zone : 조이스틱
    • location : 버튼이 표시되는 구역, 4개 중에 선택 해야 함 (top, left, center, right)
    • left : 조이스틱 왼쪽 위치 % (퍼센트로 표기)
    • top : 조이스틱 상하 위치 % (퍼센트로 표기)
    • inputValues : [4,5,6,7] 또는 [19,18,17,16] 또는 [23,22,21,20] 중에 하나 선택
    • jostickInput : 아날로그 입력 여부
      • inputValues  [4,5,6,7] 이면 false
      • inputValues [19,18,17,16] 또는 [23,22,21,20] 이면 true
  • dpad : 디지털 패드
    • location : 버튼이 표시되는 구역, 4개 중에 선택 해야 함 (top, left, center, right)
    • left : 조이스틱 왼쪽 위치 % (퍼센트로 표기)
    • top : 조이스틱 상하 위치 % (퍼센트로 표기)
    • inputValues : [4,5,6,7] 또는 [19,18,17,16] 둘 중에 하나 선택
    • jostickInput : false (dpad 는 아날로그 입력을 지원하지 않음)

Input_value 정보

0~29 번까지 30개의 키정보를 사용합니다

{id: 0, 'B'},
{id: 1, 'Y'},
{id: 2, 'SELECT'},
{id: 3, 'START'},
{id: 4, 'UP'},
{id: 5, 'DOWN'},
{id: 6, 'LEFT'},
{id: 7, 'RIGHT'},
{id: 8, 'A'},
{id: 9, 'X'},
{id: 10, 'L'},
{id: 11, 'R'},
{id: 12, 'L2'},
{id: 13, 'R2'},
{id: 14, 'L3'},
{id: 15, 'R3'},
{id: 16, 'L STICK RIGHT'},
{id: 17, 'L STICK LEFT'},
{id: 18, 'L STICK DOWN'},
{id: 19, 'L STICK UP'},
{id: 20, 'R STICK RIGHT'},
{id: 21, 'R STICK LEFT'},
{id: 22, 'R STICK DOWN'},
{id: 23, 'R STICK UP'},
{id: 24, 'QUICK SAVE STATE'},
{id: 25, 'QUICK LOAD STATE'},
{id: 26, 'CHANGE STATE SLOT'},
{id: 27, 'FAST FORWARD'},
{id: 28, 'REWIND'},
{id: 29, 'SLOW MOTION'},

더블 드래곤에 백 엘보, 롤링 소배트 버튼 추가하기

백 엘보 Back Elbow (점프+펀치) : 이거 하나만으로 끝판까지 클리어 간다 (흠~~~)
롤링 소배트 Rolling Savate (점프+킥) : 위력이 약해서 안쓴다

[
    { "type": "button", "text": "Elbow", "id": "yb", "location": "right", "top": 0, "left": 5, "input_value": [8,1] },
    { "type": "button", "text": "Savate", "id": "ya", "location": "right", "top": -45, "left": 50, "input_value": [8,0] },
]




슈핑 게임 총알 버튼 오토로 만들기

1942 와 같은 비행 슈팅 게임의 총알을 터치 하고 있으면 자동으로 나가도록 수정한다
1942 는 A 버튼이 총알 입력이니 A 버튼에 "auto": true 를 추가한다

[
  { "type": "button", "text": "A", "id": "a", "location": "right", "top": 90, "left": 5, "bold": true, "input_value": 0, "auto": true },
  { "type": "button", "text": "B", "id": "b", "location": "right", "top": 45, "left": 50, "bold": true, "input_value": 1 },
  { "type": "zone", "location": "left", "left": "80%", "top": "70%", "joystickInput": false, "inputValues": [4, 5, 6, 7] },
  { "type": "button", "text": "Select", "id": "select", "location": "left", "left": 30, "top": -50, "fontSize": 15, "block": true, "input_value": 2 },
  { "type": "button", "text": "Start", "id": "start", "location": "left", "left": 100, "top": -50, "fontSize": 15, "block": true, "input_value": 3 },
  { "type": "button", "text": "Fast", "id": "speed-fast", "location": "left", "left": 30, "top": -80, "fontSize": 15, "block": true, "input_value": 27 },
  { "type": "button", "text": "Slow", "id": "speed-slow", "location": "right", "left": 80, "top": -80, "fontSize": 15, "block": true, "input_value": 29 }
]

메탈슬러그 총알 버튼 오토로 만들기


A,B,C 버튼을 한줄에 배열
A 버튼은 총알 발사 버튼으로 "auto": true 설정

[
  { "type": "button", "text": "A", "id": "a", "location": "right", "top": 70, "left": -50, "bold": true, "input_value": 0, "auto": true },
  { "type": "button", "text": "B", "id": "y", "location": "right", "top": 70, "left": 0, "bold": true, "input_value": 8 },
  { "type": "button", "text": "C", "id": "b", "location": "right", "top": 70, "left": 50, "bold": true, "input_value": 1 },
  { "type": "zone", "location": "left", "left": "80%", "top": "70%", "joystickInput": false, "inputValues": [4, 5, 6, 7] },
  { "type": "button", "text": "Select", "id": "select", "location": "left", "left": 30, "top": -50, "fontSize": 15, "block": true, "input_value": 2 },
  { "type": "button", "text": "Start", "id": "start", "location": "left", "left": 100, "top": -50, "fontSize": 15, "block": true, "input_value": 3 },
  { "type": "button", "text": "Fast", "id": "speed-fast", "location": "left", "left": 30, "top": -80, "fontSize": 15, "block": true, "input_value": 27 },
  { "type": "button", "text": "Slow", "id": "speed-slow", "location": "right", "left": 80, "top": -80, "fontSize": 15, "block": true, "input_value": 29 }
]


대전격투 스트리트 파이터 기술 버튼 만들기


S1 : 파동권 Left -> Down -> Right -> A버튼
  • "input_value": [6,5,7,0]
  • "combo": true
  • "interval": 100
  • "delay": 150
S2 : 승룡권 Right -> Down -> Right -> A버튼
  • "input_value": [7,5,7,0]
  • "combo": true
  • "interval": 100
  • "delay": 150
S3 : 용권선풍각 Right -> Down -> Left -> Y버튼
  • "input_value": [7,5,7,9]
  • "combo": true
  • "interval": 100
  • "delay": 150
파동권, 용권선풍각은 90% 이상의 확률로 기술이 잘되는데
승룡권은 대각선 입력 키가 없어서 체감상 50~60% 만 기술이 걸림

interval 보다 delay 를 높인 이유는 방향 키가 끊어지지 않고 입력 되도록 하려는 목적입니다
interval 과 delay 시간은 휴대폰 성능별로 다르니 본인 휴대폰 성능에 맞게 설정해야 합니다

[
  { "type": "button", "text": "S1", "id": "s1", "location": "right", "top": -10, "left": -70, "bold": true, "input_value": [6,5,7,0], "combo": true, "interval": 100, "delay": 150 },
  { "type": "button", "text": "S2", "id": "s2", "location": "right", "top": -50, "left": -20, "bold": true, "input_value": [7,5,7,0], "combo": true, "interval": 100, "delay": 150 },
  { "type": "button", "text": "S3", "id": "s3", "location": "right", "top": -90, "left": 30, "bold": true, "input_value": [7,5,6,9], "combo": true, "interval": 100, "delay": 150 },
]






Post a Comment

Previous Post Next Post