Вы можете сделать несколько вещей, чтобы получить вращение, указанное ниже:
установите режим угла DEGREES
, который более удобен для frameCount
, используя angleMode(DEGREES)
используйте rotate(frameCount)
для поворота
используйте translate(x,y)
для установки центра вращения
удалить все ссылки на x
и y
в ваших ellipse()
звонках
var x = 35;
var y = 120;
var d = 80;
function setup() {
// this function will run once
createCanvas(320, 240); // create a 320x240 pixel drawing canvas
}
function draw() {
background(255); //light gray background
translate(x, y);
if (mouseIsPressed == true) {
background(0); //black background
fill(255, 153, 51); //orange
ellipse(0, 0, d, d); // sun
angleMode(DEGREES);
rotate(frameCount);
}
fill(163, 210, 6); //green
ellipse(52, 0, d - 7, d - 7); //jupiter
fill(239, 233, 49); //yellow
ellipse(95, 0, d - 14, d - 14); //saturn
fill(49, 239, 239); //neon blue
ellipse(192, 0, d - 21, d - 21); //uranus
fill(201, 49, 239); //purple
ellipse(301, 0, d - 28, d - 28); //neptune
fill(0, 85, 255); //blue
ellipse(10, 0, d - 35, d - 35); //earth
fill(255, 51, 153); //pink
ellipse(7.2, 0, d - 42, d - 42); //venus
fill(210, 95, 6); //red
ellipse(15, 0, d - 49, d - 49); //mars
fill(64, 64, 64); //gray
ellipse(3.8, 0, d - 56, d - 56); //mercury
}
<script src="https://cdn.jsdelivr.net/npm/p5@1.0.0/lib/p5.min.js"></script>