用p5js绘制一个20毫米的球在界面跳动
在p5.js中,我们可以使用createCanvas()函数来创建一个画布,使用ellipse()函数来绘制一个圆形,使用frameRate()函数来设置动画的帧速率,使用random()函数来生成随机数,使用width和height变量来获取画布的宽度和高度。
下面是一个使用p5.js绘制一个20毫米的球,在界面上跳动的示例代码:
let x, y; // 球的坐标
let xSpeed, ySpeed; // 球的速度
const ballSize = 20; // 球的大小
function setup() {
createCanvas(400, 400);
x = random(ballSize, width - ballSize); // 随机生成球的初始x坐标
y = height - ballSize; // 球的初始y坐标
xSpeed = random(-5, 5); // 随机生成球的初始x速度
ySpeed = -10; // 设置球的初始y速度
frameRate(60); // 设置动画的帧速率为60帧/秒
}
function draw() {
background(220);
// 更新球的位置
x += xSpeed;
y += ySpeed;
ySpeed += 0.5; // 增加y速度的大小,使球有向下的加速度
// 碰撞检测
if (x - ballSize / 2 <= 0 || x + ballSize / 2 >= width) {
xSpeed *= -1; // 碰到左右边界时,反转x速度
}
if (y + ballSize / 2 >= height) {
ySpeed *= -0.9; // 碰到底部时,反转y速度并减小一部分以模拟能量损失
}
// 绘制球
ellipse(x, y, ballSize, ballSize);
}
在上述代码中,我们使用random()函数来随机生成球的初始位置和速度,使用xSpeed和ySpeed来控制球的移动速度和方向。在draw()函数中,我们使用background()函数来绘制背景色,使用ellipse()函数来绘制球,通过更新球的位置和速度实现球的跳动效果。
原文地址: https://www.cveoy.top/t/topic/i4bl 著作权归作者所有。请勿转载和采集!