其他
抛物线的瞄准线的绘制! Cocos Creator!
给平抛高抛发射添加一个瞄准线!文章底部附完整代码!
效果预览
在 如何实现高抛平抛发射?从抛物线说起! 中介绍了物体平抛或高抛发射的一种实现。这次我们为它添加一个瞄准线。
需求分析
已知物体初速度v
,重力加速度a
,物体初始位置。求物体的运动轨迹。
这个问题可以转换成,物体在时间t
之后的位置在哪里。
而抛物线运动可以分解成x
轴匀速直线,y
轴匀加速直线运动。
对于t
时刻,x
方向的位移是
s = v_x * t
y
方向的位移是
h = v_y * t + 0.5 * a * t * t
再把位移加上初始位置,就是物体在t
时刻的位置。
最后,取多个时间t
的组合,就是运动轨迹了。
参考代码
const dt = 0.05;
for (let count = 0; count < 100; count++) {
const time = dt * count;
// s = v_x * t
const dx = linearVelocity.x * time;
// h = v_y * t + 0.5 * a * t * t
const dy = linearVelocity.y * time + 0.5 * G * this.rigidBody_arrow.gravityScale * time * time;
// 当前时间点坐标
const targetX = START_POS.x + dx;
const targetY = START_POS.y + dy;
// 坐标超过地板就不画了
if (targetY < -300) break;
this.graphic_line.circle(targetX, targetY, 8);
}
学会思考,拆解需求,解决问题。
以上为白玉无冰使用 Cocos Creator v2.2.2
开发"抛物线的瞄准线的绘制!"
的技术分享。如果这篇对你有点帮助,欢迎分享给身边的朋友。
转载请保留文末二维码和完整代码获取方式!
完整代码:
https://github.com/baiyuwubing/cocos-creator-examples/tree/master/parabola
点击“阅读原文”查看完整代码
我就知道你“在看”▼