私はです。をJavascriptにして覚えたいです。 YouTubeにはJavascriptのチュートリアルを持っている人がいて、チュートリアルの最後に、彼がチュートリアルで行ったことを使ってコードを少し変更するように挑戦しています。彼はコーナーに当たったときにボールをバウンスさせるコードを書いて、バウンスするたびに新しい色にするよう挑戦しました。楕円の色をランダムな色に変更する方法
"fill(200,0,200);の前に//を置く場合にのみ、色を変更する関数を書くことができました。ただし、//を削除して "fill(200,0,200);"を使用すると、 "fill(200,0,200);の前に//色が変わっても、" pink "という色しか表示されません。
私の質問はそうです。 「fill(200,0,200);」を維持しながら、楕円をランダムな色に変更するにはどうすればよいですか?
私はこの問題をかなりの時間をかけて解決しようとしましたが、勝ってはいけません。
var r,g,b;
var ball = {
x: 300,
y: 200,
xspeed: 4,
yspeed: -3
}
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
move();
bounce();
display();
colorChange();
r = random(255);
g = random(255);
b = random(255);
}
function bounce() {
if (ball.x > width || ball.x < 0) {
ball.xspeed = ball.xspeed * -1;
}
if (ball.y > height || ball.y < 0) {
ball.yspeed = ball.yspeed * -1;
}
}
function display() {
stroke(255);
strokeWeight(4);
fill(200,0,200);
ellipse(ball.x, ball.y, 24, 24);
}
function move() {
ball.x = ball.x + ball.xspeed;
ball.y = ball.y + ball.yspeed;
}
function colorChange() {
if (ball.x >= width || ball.x <= 0 || ball.y >= height || ball.y<= 0) {
fill(r,g,b);
ellipse();
}
}
あなたのコードでこの作業を正しく行うには、draw関数から 'colorChange()'を削除することを忘れないでください。それ以外の場合は、フレームごとに色が変わります。 –