gpt4 book ai didi

swift - 画直线用于瞄准

转载 作者:行者123 更新时间:2023-11-30 13:27:01 29 4
gpt4 key购买 nike

如果您之前玩过《愤怒的小鸟》或任何台球游戏,那么您会熟悉我想要做的事情,基本上我想要的是:

1-在touchesMoved中画一条线,以便玩家知道他瞄准的方向。

2-我希望线条在碰到其他物体时能够以正确的方向反射。到目前为止我有这个:

更新:

   var ref = CGPathCreateMutable()

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {

for touch in touches {
let location = touch.locationInNode(self)

let path = CGPathCreateMutable()
CGPathMoveToPoint(ref, nil, position.x - 100 , position.y - 100 )
CGPathAddLineToPoint(ref, nil, -location.x, -location.y)

line.removeFromParent()
line.path = ref

line.strokeColor = UIColor.redColor()
line.lineWidth = 20
line.antialiased = true
line.fillColor = UIColor.blueColor()
addChild(line)
}
}

我在位置之前添加了 - ,以便在节点前面绘制线条,这样可以提供更好的瞄准感,但这给我留下了两个问题:

1-我希望该线有一个到达节点前面的限制,但同时,我希望其末端是当前触摸位置。 (基本上,我希望它通过节点)

2-我仍然不知道当它撞到墙壁或其他东西时如何让它反射到正确的角度,这样它就给出了节点会从那堵墙上反弹的想法。

最佳答案

每帧删除和添加一个线节点的替代方法是,制作一个 1 像素 x 1 像素的 SKShapeNode,然后在 x 轴上缩放从 pt 到 to pt 的距离,然后旋转它。使用 let angle = arctan2(P2_y - P1_y , P2_x - P1_x) (我相信 arctan2 会为您处理除以 0 的情况)来获取角度

关于swift - 画直线用于瞄准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37059926/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com