1 collision-detection cocos2d-iphone swift
我正在使用Cocos2d-iphone在新的Apple编程语言Swift中编写2D游戏.我遇到碰撞检测问题.我已经在我的类中添加CCPhysicsCollisionDelegate并实现了CCPhysicsCollisionBegin方法,但是当我尝试运行它时,我得到以下错误:
'CCPhysicsCollisionBegin delegate methods must return a BOOL.'
Run Code Online (Sandbox Code Playgroud)
这是我的方法的样子:
func ccPhysicsCollisionBegin(pair: CCPhysicsCollisionPair!, aMan nodeA: CCNode!, fuel nodeB: CCNode!) -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
编辑:看起来这可能是Swift中的一个错误.我无法使用当前版本的Xcode重新创建它.好像你现在可以回到Bool.
您需要返回ObjCBool类型,因为Cocos2D-swift是用Objective-C编写的.
您的方法应如下所示:
func ccPhysicsCollisionBegin(pair: CCPhysicsCollisionPair!, aMan nodeA: CCNode!, fuel nodeB: CCNode!) -> ObjCBool {
return true
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用:
func ccPhysicsCollisionBegin(pair: CCPhysicsCollisionPair!, aMan: CCNode!, fuel: CCNode!) -> ObjCBool {
return true
}
Run Code Online (Sandbox Code Playgroud)
然后使用man和fuel而不是nodeA和nodeB引用冲突的节点.
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |