const canvas = document.querySelector('.runner-canvas'); const ctx = canvas.getContext('2d');
const pixelCheckTimer = setInterval(() => { // 체크할 좌표 const myX = 110; const myY = 130;
// 해당 좌표의 픽셀 데이터 가져오기 // 팁: 매번 새로운 ImageData 객체를 생성하므로 1x1 크기로 최소화하는 것이 성능에 좋습니다. const pixelData = ctx.getImageData(myX, myY, 1, 1).data;
// RGBA 값 분리 const myR = pixelData[0]; const myG = pixelData[1]; const myB = pixelData[2]; const myA = pixelData[3];
// 조건 확인: Red 값이 0보다 크면 if (myR > 0) { console.log(`감지됨! RGBA: (${myR}, ${myG}, ${myB}, ${myA / 255})`);
// Space바 키 이벤트 생성 및 전달 const spaceEvent = new KeyboardEvent('keydown', { key: ' ', code: 'Space', keyCode: 32, which: 32, bubbles: true, cancelable: true });
canvas.dispatchEvent(spaceEvent); }
}, 1); |