不使用SKPhysicsBodies来检测两个SKSpriteNodes的重叠?
创始人
2024-12-29 10:00:14
0

要检测两个SKSpriteNodes的重叠,可以使用CGRect的相交判断方法来判断两个矩形框是否有重叠。以下是一个示例代码:

func checkCollision(nodeA: SKSpriteNode, nodeB: SKSpriteNode) -> Bool {
    let rectA = CGRect(x: nodeA.position.x - nodeA.size.width / 2, y: nodeA.position.y - nodeA.size.height / 2, width: nodeA.size.width, height: nodeA.size.height)
    let rectB = CGRect(x: nodeB.position.x - nodeB.size.width / 2, y: nodeB.position.y - nodeB.size.height / 2, width: nodeB.size.width, height: nodeB.size.height)
    
    return rectA.intersects(rectB)
}

// 使用示例
let nodeA = SKSpriteNode(color: .red, size: CGSize(width: 50, height: 50))
nodeA.position = CGPoint(x: 100, y: 100)

let nodeB = SKSpriteNode(color: .blue, size: CGSize(width: 50, height: 50))
nodeB.position = CGPoint(x: 120, y: 120)

let isColliding = checkCollision(nodeA: nodeA, nodeB: nodeB)
print(isColliding) // 输出true

在示例代码中,checkCollision函数接受两个SKSpriteNode作为参数,并根据它们的位置和大小创建矩形框rectA和rectB。然后,使用intersects方法判断这两个矩形框是否有重叠,如果有重叠则返回true,否则返回false。

注意,此方法只适用于矩形形状的节点,对于其他形状的节点可能无法准确判断重叠。

相关内容

热门资讯

6分钟辅助挂!牵手跑胡子吗(透... 6分钟辅助挂!牵手跑胡子吗(透视)详细辅助app教程(2023已更新)(哔哩哔哩)牵手跑胡子吗软件透...
6分钟介绍!快玩炸翻天旧版辅助... 6分钟介绍!快玩炸翻天旧版辅助工具(透视)原来真的有挂(2025已更新)(知乎)1、用户打开应用后不...
五分钟辅助挂!多乐小程序免费黑... 五分钟辅助挂!多乐小程序免费黑科技(透视)详细辅助工具教程(2021已更新)(百度贴吧);1、这是跨...
十分钟曝光!胡乐吗胡牌神器下载... 十分钟曝光!胡乐吗胡牌神器下载(透视)一般真的有挂(2025已更新)(哔哩哔哩)1、胡乐吗胡牌神器下...
三分钟辅助挂!传奇游手机游戏外... 三分钟辅助挂!传奇游手机游戏外设辅助器(透视)详细辅助机制教程(2020已更新)(头条)1、用户打开...
七分钟体悟!乐友麻将有挂的吗(... 七分钟体悟!乐友麻将有挂的吗(透视)其实真的有挂(2023已更新)(小红书)1、下载好乐友麻将有挂的...
七分钟辅助挂!聚友互娱手机ap... 七分钟辅助挂!聚友互娱手机app辅助器(辅助挂)详细辅助器教程(2021已更新)(百度贴吧)1、聚友...
十分钟晓得!心悦填大坑是不是(... 十分钟晓得!心悦填大坑是不是(透视)的确是有挂的(2023已更新)(小红书);1、完成心悦填大坑是不...
5分钟辅助挂!中至二人麻将有猫... 5分钟辅助挂!中至二人麻将有猫腻吗(辅助挂)详细辅助APP教程(2022已更新)(抖音)1、中至二人...
1分钟脚本!数独辅助器(辅助挂... 1分钟脚本!数独辅助器(辅助挂)本来真的有挂(2025已更新)(微博客户端)1、任何数独辅助器ai辅...