问:两点指针效果实现方式

地图中会生成几十个据点,当一个据点被攻击时,在两点之间画线。

现在实现的方式是,准备了一个图片,使用sliced方式让来箭头不失真。
两点之间的距离为图片sprite的宽,高是固定,使用两点公式计算图片的角度方向。

感觉这个图片画线的方式不好看的说,还想做动态效果,比如指针循环在线上移动

因为据点是代码中生成,觉得这个方式不如代码中来画线来的更好,据点一多全屏幕都是大箭头那效果一定很难看。但没画过箭头啊,谁给点实现方法或者其他的实现思路。 最好是虚线的指线,直线的看起来太唐突。

简单的方式是使用 Sprite 设置为 tiled 模式修改线条长度与角度就行了,看下图:

下面是通过两个点计算角度:

  getAngle(p1, p2, offset = 0) {
        let x = p2.x - p1.x;
        let y = p2.y - p1.y;
        let radian = Math.atan2(y, x);
        let angle = (180 * radian / Math.PI) % 360 + offset;
        return angle;    
    }

希望上面的内容对你有所帮助。

###这里是我之前做的一个 Demo,可以体验一下效果

http://example.creator-star.cn/MagicBall/

3q,优秀,我也是使用的这种方式,但使用绘画的方式是不是会更能拓展,您的回答很详细认真,让我忍不住想把采纳给您

mark…

画线的方案也是可以的,很高兴能帮助到你,找到更多更好的方案