2D桌球游戏怎么实现显示白球将要撞击的位置,cocos小白。

如下图(别人的图),2D游戏,在白球将会撞击的目标球上出现白球大小的圆圈,圆圈始终与目标球相切。
希望实现这种效果,应该用什么方法实现?
目前的思路是用射线检测,但是思考之后发现难以实现,遇到难点了,求助!
用的JavaScript。

这是3d吗 如果是2d的话可以用物理引擎 物理碰撞 3d不知道支持碰撞了没

是2D的,物理引擎怎么实现这个效果?

抱歉 我没认真审题

这游戏的名字叫啥呀

图片是从cocos2d-x lua 3D桌球 源代码分享–帖子里面拿的

我的想法是,用do while,根据方向,从白球点位加半径开始每一步step判断和其他球的距离,如果有距离小于等于2倍半径的,就是碰到球了,如果点位超出边界还没有球,就是要碰库

没有看懂:joy:

萌新浅见,
根据杆子方向射出一个圆,直到触碰到任何一个球,然后力的方向是两球圆心的连线,球撞击后弹向的方向是圆心连线的垂线。
但是根据击球点位置和力度的不同,白球不会这么直直地装向彩球的,会是一个弧线,撞击后由于摩擦反弹的方向也不一样,这部分我就不知道了。不过如果使用物理引擎的话其实是可以根据参数先算一遍,然后把结果的路径标识出来?不确定。

这个方法也许可以,但是现在没有时间尝试,改用其他方案代替了,以后再研究这个功能:joy::joy:

计算两个球的 中心点的角度

你以三角堆里的每个台球的中心点为圆心,球的1.5倍半径画圆,然后白球发射的射线和第一个圆的交点,就是这个白球与三角堆里的球相撞的地点,easygame

1赞

貌似可行,有没有Demo参考一下

二元二次方程, 圆心坐标 (x,y)

  1. 直线方程
  2. 两个圆心的距离等于两个半径和

求出这样的点有两个, 靠近起点的那个就是解

没记错的话, 应该是初中数学

用物理引擎的射线检测就可以了。

请问你是怎么实现的?也在做这个瞄准轨迹的

我做了一个类似的效果,不过实现方法有些复杂

可以请教一下么

你回复的时候像我这样,点击你想问的那个人后面的那个回复按钮,这样他才会被通知

我好像就是这样回复的:joy: