gpt4 book ai didi

ios - 从两个点 ( cgpoint ) sprite kit - swift 检测 Sprite

转载 作者:行者123 更新时间:2023-11-28 07:15:52 25 4
gpt4 key购买 nike

我正在使用 SpriteKit 制作游戏。我有一个大问题,我无法在网上甚至在 Apple 网站上找到能够找到两个位置之间的节点的方法 (CGPoint)。UiSwipeGesture 方法你找不到任何方向的滑动,只有左、右、上、下。

所以我找到了其他方法(见下面的代码)来制作幻灯片,但我找不到理解两个位置之间有一些节点的方法。

有人可以帮助我吗?谢谢

代码在这里:

var locationBegan : CGPoint = CGPoint()
var locationEnded : CGPoint = CGPoint()
var objectbegan : SKNode = SKNode()

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches
{
let location: CGPoint! = touch.locationInNode(self)
self.locationBegan = location
var nodeAtPoint : SKNode = self.nodeAtPoint(location)
self.objectbegan = nodeAtPoint

}
}

override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let location: CGPoint! = touch.locationInNode(self)
self.locationEnded = location
var nodeAtPoint : SKNode = self.nodeAtPoint(location)

var finalDestination : CGPoint = GetFinalDestination(location, nodeAtPoint: self.objectbegan)
nodeAtPoint.runAction(SKAction.moveTo(finalDestination, duration: 1))

}
}

如何找到 locationBegan 和 locationEnded 之间的节点?谢谢

如果这是不可能的,你能告诉我一个方法来找到所有方向的滑动节点,而不仅仅是左、右、上和下吗?谢谢

更新设置节点此属性以运行:

node.physicsBody = SKPhysicsBody(circleOfRadius: 5)
node.physicsBody?.dynamic = false

最佳答案

您必须在要查找的节点上设置SKPhysicsBody,但是一旦设置完成,您就可以使用SKPhysicsWorldbodyAlongRayStart:end: .

bodyAlongRayStart 返回一个 SKPhysicsBody?,因此您必须打开它才能使用它。如果您随后需要 SKNode,请使用 SKPhysicsBodynode 属性(它返回一个 SKNode?,因此您也需要打开它)。使用 SKScenephysicsWorld 属性调用 bodyAlongRayStart。如果您结合调用该函数和可选绑定(bind),它看起来像:

if let physicsBody = scene.physicsWorld.bodyAlongRayStart(locationBegan, end: locationEnded) {
if let node = physicsBody.node {
/* do something with node here */
}
}

如果您希望沿着那条线有多个 SKNode(您可能是),那么您可以使用 enumerateBodiesAlongRayStart:end:usingBlock:相反:

scene.physicsWorld.enumerateBodiesAlongRayStart(locationBegan, end: locationEnded) {
(physicsBody, point, normal, stop) in
if let node = physicsBody.node {
/* do something with node */
}
}

关于ios - 从两个点 ( cgpoint ) sprite kit - swift 检测 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26246645/

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