关于小球做自由落体运动落地静止状态的判断
初探游戏,不是很懂这些,只是想尝试尝试,希望大佬们解惑!
下面是小球下落的位移代码 ( 用的是阿里开源的Hilo引擎 ) :
// 整个弹跳过程
onUpdate: function () {
// 如果已经静止则停止弹跳
if(this.isStatic) return;
// 下落位移等于上一次的位移加上加速度
this.move += this.gravity;
// y轴坐标
var y = this.y + this.move;
if(y >= this.groundY - this.height) {
// 弹珠碰触地面
this.y = this.groundY - this.height;
// 速度反向(这里假设转化1/5的热量)
this.move *= -0.8;
// 判断是否速度为0即静止状态
if (???) {
// 弹珠静止
this.isStatic = true;
}
// 设置弹珠弹跳次数
this.up = this.move > 0 ? this.up : this.up + 1;
} else {
this.y = y;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的代码速度永远不会为0,所以只需要判断它小于某个值就行了,眼睛是看不出来的。