keypress (예 : 위쪽 화살표 또는 a 단추)를 시뮬레이트하기 위해 node.js 스크립트를 가져 오려고합니다. 특히 Twitch Plays Pokemon의 클론을 만들려고합니다. 기본적으로 IRC를 통해 명령 (위, 아래, 왼쪽, 오른쪽, a, b, 선택, 시작)이 전송 될 때마다 서버가 키 누르기를 시뮬레이트하여 게임 보이 에뮬레이터를 제어합니다. 지금까지 내가 Node.js를위한 IRC 모듈이 작성했습니다 :Node.js JavaScript : 서버의 키 누르기 시뮬레이션 (매크로처럼)
var config = {
channels: ["#tron"],
server: "irc.freenode.net",
botName: "wyatt"
};
var irc = require("irc");
var bot = new irc.Client(config.server, config.botName, {
channels: config.channels
});
var commandHandler = function(from, text) {
if(text.toLowerCase() === "up"||text.toLowerCase() === "down"||text.toLowerCase() === "left"||text.toLowerCase() === "right"||text.toLowerCase() === "a"||text.toLowerCase() === "b"||text.toLowerCase() === "select"||text.toLowerCase() === "start") {
bot.say(config.channels[0], from.toUpperCase() + " sent the " + text.toUpperCase() + " command!");
} else {
bot.say(config.channels[0], from.toUpperCase() + ", that wasn't a valid command!");
}
};
bot.addListener("message", function(from, to, text, message) {
commandHandler(from, text);
});
내 스크립트를 실행하려면, 내가 명령 프롬프트에 노드 scriptName.js를 입력합니다. 나는 윈도우 7
는 주로 휴면 것으로 보인다 이것은, 내가 테스트 목적으로 사용하고있는 Freenode의 채널 #tron에 연결을 사용하고 있습니다.
사용자가 승인 된 명령 중 하나를 입력하면 "NIMAID가 LEFT 명령을 보냈습니다!"와 같은 메시지를 보내고, 그렇지 않으면 "NIMAID, 유효한 명령이 아닙니다!"라는 메시지를 보냅니다. 그것은 그대로, 그것은 완벽하게 작동합니다. 그래서 제가해야 할 일은 키 누르기를 보내는 방법을 찾는 것입니다. 마지막 스크립트는 스위치 선언문 일뿐입니다.
문제는 JQuery 나 이와 비슷한 브라우저 환경에서 node.js를 사용하는 것에 대해 인터넷 검색을 통해 찾을 수있는 참조 사항이 있다는 것입니다. 에뮬레이터에 keypresses를 보내야합니다.
tldr : keypresses를 node.js 스크립트에서 Windows 7 서버 데스크탑에서 실행되는 응용 프로그램으로 전송해야합니다.
이렇게 할 방법이 있습니까?
어떤 실행 환경과 에뮬레이터를 타겟팅합니까? 브라우저 세계 밖에서는 키 처리가 플랫폼 별입니다. –
제가 말했듯이 저는 Windows 7 Professional 64 컴퓨터를 사용하고 있습니다. 나는 특정 윈도우로 sendkeys 같은 것을 할 수 있기를 바라고있다. 그렇게하면 키를 눌러 창에 도착하는 한 내가 실행중인 에뮬레이터가 문제가되지 않습니다. 정말 문제가된다면 Visualboy Advance를 사용할 계획입니다. – Nimaid