나는 내 탁구 경기를 위해 인공 지능을 만들려고 노력하고 있지만 인공 지능 제어 패들은 공을 치려고 할 때 많이 불안합니다. 당신은 여기에 전체 코드의 .ZIP 찾을 수내 탁구 인공 지능이 왜 지터 롭지?
function calculateAI() {
if (paddleA.AI) {
if (ball.x + (ball.width/2) <= ctx.canvas.width * 0.4 && ball.directionX == -1) {
if (ball.y + (ball.height/2) >= paddleA.y + (paddleA.height + paddleA.heightModifier * 0.75) && paddleA.y + paddleA.height + paddleA.heightModifier < ctx.canvas.height) {
paddleA.y += paddleA.speed + paddleA.speedModifier;
}
else if (ball.y + (ball.height/2) <= paddleA.y + (paddleA.height + paddleA.heightModifier * 0.25) && paddleA.y > 0) {
paddleA.y -= paddleA.speed + paddleA.speedModifier;
}
}
else {
if (paddleA.y + ((paddleA.height + paddleA.heightModifier)/2) <= (ctx.canvas.height/2) - 50 && paddleA.y + paddleA.height + paddleA.heightModifier < ctx.canvas.height) {
paddleA.y += paddleA.speed + paddleA.speedModifier;
}
else if (paddleA.y + ((paddleA.height + paddleA.heightModifier)/2) >= (ctx.canvas.height/2) + 50 && paddleA.y > 0) {
paddleA.y -= paddleA.speed + paddleA.speedModifier;
}
}
}
}
: 여기
내 코드의 AI 부분입니다 http://dl.dropbox.com/u/23225581/Pong.zip내 질문에, 나는이 때문에 AI 구조 조정을 수있는 방법입니다 너무 지터하지 않니? 누구든지 인공 지능에 대한 다른 제안이 있다면 일반적으로 듣고 싶습니다.
는 HTML5의 의사 더블 버퍼링에서보세요. http://stackoverflow.com/questions/2795269/does-html5-canvas-support-double-buffering – xbonez
@xbonez AI가 지터 핑하는 이유와 관련이 없습니다. 나는 그것이 움직이는 동안 캔버스가 깜박이지 않고 패들이 빠르게 움직이는 것과 관련이 있다는 것을 압니다. –