请帮我写一个p5js程序小球运动抛物线碰到边缘反弹
以下是一个使用p5.js编写的小球运动抛物线并在碰到边缘时反弹的例子:
let x = 50; // 小球的x坐标
let y = 50; // 小球的y坐标
let speedX = 5; // 小球的水平速度
let speedY = 0; // 小球的垂直速度
let gravity = 0.2; // 重力加速度
function setup() {
createCanvas(400, 400);
}
function draw() {
background(220);
// 更新小球的位置和速度
x += speedX;
y += speedY;
speedY += gravity;
// 检测小球碰到边缘
if (x < 0 || x > width) {
speedX *= -1; // 水平速度反向
}
if (y > height) {
speedY *= -0.9; // 垂直速度反向并衰减
y = height; // 限制小球在画布内
}
// 绘制小球
ellipse(x, y, 50, 50);
}
在这个例子中,我们使用变量x和y来追踪小球的位置,变量speedX和speedY来追踪小球的速度,变量gravity来表示重力加速度。在setup()函数中,我们创建一个400x400像素的画布。在draw()函数中,我们首先清空画布,然后更新小球的位置和速度。然后,我们检测小球是否碰到了画布的边缘,如果是,则反弹。最后,我们使用ellipse()函数绘制小球。
你可以在p5.js编辑器中尝试运行这段代码:p5.js编辑器链接。
原文地址: https://www.cveoy.top/t/topic/i4cc 著作权归作者所有。请勿转载和采集!