6. 练习-点按钮重复下落
# 练习-点按钮重复下落
大家可以利用前面学习过的知识,做一个简单的练习题,就是通过HTML按钮控制乒乓球重复下落。
# 回顾原来的知识点
前面讲解过,物理碰撞体body只有添加到物理世界world中,才会收到物理世界的影响,比如受到重力影响,你可以注释world.addBody(body);
代码测试验证。
world.gravity.set(0, -9.8, 0);
world.addBody(body);
# 通过按钮控制小球下落
document.getElementById('test').addEventListener('click', function () {
})
// 点击按钮后,才把物理小球碰撞体body添加到物理世界
document.getElementById('test').addEventListener('click', function () {
world.addBody(body);
})
# 按钮控制重复下落
点击按钮,body回到下落的初始位置。
document.getElementById('test').addEventListener('click', function () {
body.position.y = 1;//点击按钮,body回到下落的初始位置
world.addBody(body);//添加到物理世界,才开始下落
})
注意body没必要重复添加到物理世界中,声明一个变量标记是否已经添加到物理世界中。
let addBool = false;//标记body是否已经添加到world中
document.getElementById('test').addEventListener('click', function () {
body.position.y = 1;//点击按钮,body回到下落的初始位置
if (!addBool){
world.addBody(body);//添加到物理世界,才开始下落
addBool = true;
}
})