gpt4 book ai didi

ios - 快速从 ccPhysicsCollisionBegin 返回 bool 时崩溃

转载 作者:行者123 更新时间:2023-11-28 07:05:48 27 4
gpt4 key购买 nike

嘿,我有 ccPhysicsCollisionPostSolve 和 ccPhysicsCollisionSeparate 函数在 swift 中工作,但是当我实现 ccPhysicsCollisionBegin 时,我在运行时遇到了崩溃。

func ccPhysicsCollisionBegin(pair: CCPhysicsCollisionPair!, typeA nodeA: CCNode!, typeB nodeB: CCNode!) -> Bool {
NSLog("collision test begin")
return true
}

我用谷歌搜索,发现有人将返回值更改为 ObjCBool​​,我试过并在编译时遇到此错误,

/Users/macuser/Documents/spritetest2.spritebuilder/Battle.swift:121:10: Objective-C 方法 'ccPhysicsCollisionBegin:typeA:typeB:' 由方法 'ccPhysicsCollisionBegin(:typeA:typeB:)' 提供与协议(protocol)“CCPhysicsCollisionDelegate”中的可选要求方法“ccPhysicsCollisionBegin(:typeA:typeB:)”冲突

有什么建议吗?

最佳答案

将返回类型更改为 ObjCBool​​ 是解决崩溃的正确方法。

您现在收到的编译错误是一个不同的错误。您需要将声明中的 typeAtypeB 替换为 SpriteBuilder 中设置的 Collision type,对于您要检测的两个节点碰撞。

enter image description here

例如,如果我有一个节点的 Collision typelevel,另一个节点为 hero,函数将定义为:

func ccPhysicsCollisionBegin(pair: CCPhysicsCollisionPair!, level nodeA: CCNode!, hero nodeB: CCNode!) -> ObjCBool {
...
}

关于ios - 快速从 ccPhysicsCollisionBegin 返回 bool 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30667663/

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