【发布时间】:2016-07-29 10:53:26
【问题描述】:
我正在使用 Swift 和 SpriteKit。
我有以下情况:
这里,每个“三角形”都是一个 SKShapenode。 我的问题是我想检测当有人触摸屏幕时触摸了哪个三角形。 我假设所有这些三角形的命中框都是矩形,所以我的函数返回所有触及的命中框,而我只想知道实际触及的是哪一个。
有没有什么方法可以让 hitbox 完全匹配形状而不是矩形?
这是我当前的代码:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)
{
let touch = touches.first
let touchPosition = touch!.locationInNode(self)
let touchedNodes = self.nodesAtPoint(touchPosition)
print(touchedNodes) //this should return only one "triangle" named node
for touchedNode in touchedNodes
{
if let name = touchedNode.name
{
if name == "triangle"
{
let triangle = touchedNode as! SKShapeNode
// stuff here
}
}
}
}
【问题讨论】:
标签: ios swift sprite-kit shape skshapenode