gpt4 book ai didi

ios - 旋转 SKNode 指向触摸接触点

转载 作者:行者123 更新时间:2023-11-28 11:19:40 24 4
gpt4 key购买 nike

上下文:我正在使用 Xcode、Swift 和 SpriteKit

我创建了一个单独的类文件“Ship.swift”,其中包含:

let RAD_PER_SEC: CGFloat = 0.1
var direction = 0

//Updates object value for determining how much to rotate object
func spin {

}

理想情况下,我想制作一款类似于旧游戏 Astroids 的应用。现在,我只是一艘在屏幕中央旋转并指向触摸接触点的飞船。

最佳答案

如果你想将节点旋转到触摸位置,你需要知道旋转的角度。因为在 Spritekit 中角度是以弧度测量的,所以必须进行一些转换:

let Pi = CGFloat(M_PI)
let DegreesToRadians = Pi / 180

之后,您必须使用 atan2() 来计算角度...这是使用 touchesMoved 方法旋转 Sprite 的简单示例:

override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
let curTouch = touches.anyObject() as UITouch
let curPoint = curTouch.locationInNode(self)

let deltaX = self.yourNode.position.x - curPoint.x
let deltaY = self.yourNode.position.y - curPoint.y
let angle = atan2(deltaY, deltaX)

self.yourNode.zRotation = angle + 90 * DegreesToRadians

}

关于ios - 旋转 SKNode 指向触摸接触点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29437695/

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