gpt4 book ai didi

ios - 在不同的碰撞类别上使用单独的函数

转载 作者:行者123 更新时间:2023-11-28 13:13:43 26 4
gpt4 key购买 nike

我目前正在设计一款具有三个 SKPhysics 类别的游戏(iOS Swift、Sprite Kit):

  1. 播放器
  2. 对象
  3. 平台

当这些类别中的任何一个发生碰撞时,将运行以下函数:

func didBeginContact(contact: SKPhysicsContact) {
println("Collision")
self.gameOver = true

}

当玩家和物体发生碰撞时这很好,但当玩家在平台上行走时它不应该运行。

如何为某些类别之间的碰撞设置特定的函数?或者换句话说,如何在上述函数中指定不同的碰撞?

谢谢大家!

最佳答案

你应该获取你的联系参数并使用它的属性。特别是 bodyA 和 bodyB 将允许您区分发生碰撞的物体。只需将它们放在 if 语句中,如下所示,

    if((bodyA.physicsBody == hero.physicsBody) && (bodyB.physicsBody == platform.physicsBody)){
//Perform relevant code
}
else if((bodyA.physicsBody == hero.physicsBody) && (bodyB.physicsBody == heartPickup.physicsBody)){
//Perform relevant code
}

这将允许您根据已连接的 Sprite /物理体运行不同的代码部分。

关于ios - 在不同的碰撞类别上使用单独的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30170272/

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