Сначала вы можете заменить draw_square()
базовым strokeRect()
из холста 2d api
Во второй попытке использовать преобразования вместо углов, вы получите лучшие результаты.
Здесьjsfiddle из того, что я имею в виду http://jsfiddle.net/austinbv/EP794/
А вот мой JS для SO
// Start the Canvas
c = $('canvas').get(0).getContext('2d');
//Set the center
c.translate(100,100)
function drawAndRotate() {
//Clear the canvas
c.clearRect(-100,-100,200,200)
//draw a square
c.strokeRect(-25,-25,50,50)
//rotate the canvas
c.rotate(0.017)
}
//do it alot
setInterval(drawAndRotate, 100)
Я знаю, что это на самом деле не отладка вашего кода, но это гораздо более чистый способ получитьтот же результат.
Редактировать:
Я просто просмотрел ваш код немного больше, и вам нужно установить интервал, попробуйте запустить последнюю строку window.onload.setInterval(init, 100)