我需要说一个开发人员告诉你应该创建一个skphysics主体,以便函数体在点工作,所以如果有任何特定的代码来创建该sprite的skphysics主体?因为我已经在物理部分的sks文件中给出了一个alpha蒙版。顺便说一句,他还给了我一个代码示例:
if let _ = physicsworld.body(at : fingerlocation)
但是你知道当我在我的touchesmoved
函数中使用这个代码时,它不适用于该精灵的蒙面部分,它适用于该精灵的整个边界矩形
答案 0 :(得分:0)
如果我理解正确,你想将物理体限制为精灵的纹理而不是矩形。
let texture = SKTexture(imageNamed: "imageNameHere")
maskedSprite.physicsBody = SKPhysicsBody(texture: texture , size: texture.size)
如果您只是想查看它是否已经联系,您根本不需要物理主体,可以在节点中添加名称,并在touchesBegan中检查触摸点处的节点,看它是否有与蒙面精灵相同的名称。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
switch atPoint(location).name {
case "maskedsprite"?: print("masked sprite touched")
default: break
}
}
}