如何检查一个节点的位置是否包含在另一个节点中?
How to check if the location of a node is included in another one?
我正在尝试检查一个节点是否位于另一个节点中:例如,一个正在移动的大矩形中的气球。如果矩形中不再有气球,我希望气球消失。
我已经尝试使用 did begin contact 功能,但它不起作用。
感谢您的帮助
给定 2 SKSpriteNode(s)
与 相同 parent
let spriteA = SKSpriteNode()
let spriteB = SKSpriteNode()
let parent = SKNode()
parent.addChild(spriteA)
parent.addChild(spriteB)
我们可以用这条线
检查spriteA
的position
点是否在spriteB
的框架(边界框)内
CGRectContainsPoint(spriteB.frame, spriteA.position)
路口
或者我们也可以检查精灵文字边界框之间的交叉点
CGRectIntersectsRect(spriteA.frame, spriteB.frame)
当 spriteA 和 spriteB 不相同时 parent
现在让我们考虑一下这个场景
let spriteA = SKSpriteNode()
let spriteB = SKSpriteNode()
let scene = SKScene()
let parent = SKNode()
scene.addChild(spriteA)
scene.addChild(parent)
parent.addChild(spriteB)
要检查spriteA.position
是否在spriteB.frame
内,首先我们必须将spriteA.position
转换为spriteB
坐标系。
let spriteAPositionWithSpriteBCoordindates = spriteA.convertPoint(spriteA.position, toNode: spriteB)
现在我们可以调用CGRectContainsPoint
函数
CGRectContainsPoint(spriteB.frame, spriteAPositionWithSpriteBCoordindates)
我正在尝试检查一个节点是否位于另一个节点中:例如,一个正在移动的大矩形中的气球。如果矩形中不再有气球,我希望气球消失。
我已经尝试使用 did begin contact 功能,但它不起作用。
感谢您的帮助
给定 2 SKSpriteNode(s)
与 相同 parent
let spriteA = SKSpriteNode()
let spriteB = SKSpriteNode()
let parent = SKNode()
parent.addChild(spriteA)
parent.addChild(spriteB)
我们可以用这条线
检查spriteA
的position
点是否在spriteB
的框架(边界框)内
CGRectContainsPoint(spriteB.frame, spriteA.position)
路口
或者我们也可以检查精灵文字边界框之间的交叉点
CGRectIntersectsRect(spriteA.frame, spriteB.frame)
当 spriteA 和 spriteB 不相同时 parent
现在让我们考虑一下这个场景
let spriteA = SKSpriteNode()
let spriteB = SKSpriteNode()
let scene = SKScene()
let parent = SKNode()
scene.addChild(spriteA)
scene.addChild(parent)
parent.addChild(spriteB)
要检查spriteA.position
是否在spriteB.frame
内,首先我们必须将spriteA.position
转换为spriteB
坐标系。
let spriteAPositionWithSpriteBCoordindates = spriteA.convertPoint(spriteA.position, toNode: spriteB)
现在我们可以调用CGRectContainsPoint
函数
CGRectContainsPoint(spriteB.frame, spriteAPositionWithSpriteBCoordindates)