var v = document.getElementById("v").getContext("2d"); v.fillStyle="rgba(0,0,123,1.0)"; var x = 250; var y = 250; var az = document.getElementById("az"); var angle = 235; setInterval('move()', 5); function move(){ v.fillStyle="rgba(255,255,255, 1.0)"; v.fillRect(x-2, y-2, 8, 8); x += Math.sin(angle * Math.PI/180.0)*1.0; y += Math.cos(angle * Math.PI/180.0)*1.0; v.fillStyle="rgba(0,0,123,1.0)"; v.fillRect(x, y, 5, 5); angle = getNewAngle(angle); az.innerHTML = angle + " " + parseInt(x) + " " + parseInt(y); } function getNewAngle(actAngle){ var newAngle=actAngle; if(x>400){ //jobb fal if(actAngle < 180 && actAngle > 90) newAngle = actAngle + 90; if(actAngle < 90 && actAngle > 0){ newAngle = actAngle - 90; if(newAngle <0) newAngle = 360 + newAngle; } } if(x<=5){ //bal fal if((actAngle > 270) && (actAngle < 360)){ newAngle = actAngle + 90; if(newAngle>360) newAngle = newAngle - 360; } if((actAngle > 180) && (actAngle < 270)){ newAngle = actAngle - 90; } } if(y<0){ if((actAngle>180) && (actAngle < 270)){ newAngle = actAngle + 90; } if((actAngle<180) && (actAngle > 90)){ newAngle = actAngle - 90; } } if(y>400){ if(eval(actAngle) > 270 && eval(actAngle) < 360) newAngle = actAngle - 90; if(actAngle > 0 && actAngle < 90) newAngle = actAngle + 90; } return newAngle; }