ios - swift中的didBegin方法不会被所有碰撞调用
问题描述
我正在创建一个游戏,其中一个球可以通过相同颜色的杆子,但如果杆子颜色不同,则会与球发生碰撞并结束比赛。最初,我的碰撞检测方法在有两个极点时有效,但现在我添加了第三个,但它不起作用。添加额外的极点应该与碰撞无关。但是,现在游戏不会检测到第三极的碰撞,无论颜色如何,总是会与第二极发生碰撞,并且第一极按预期工作。Pole 是一个类,所有三个极点都是该类的对象。didBegin 方法。甚至不要求第三极,我不知道为什么
ball?.physicsBody?.categoryBitMask = 1
ball?.physicsBody?.collisionBitMask = 2
ball?.physicsBody?.contactTestBitMask = 2
在极类:
self.physicsBody?.categoryBitMask = 2
self.physicsBody?.collisionBitMask = 1
self.physicsBody?.contactTestBitMask = 1
解决方案
推荐阅读
- python - 使用 Python 从 xml 文件中提取数据并写入 xlsxwriter
- c# - c#脚本Sharepoint API在远程服务器上给出401错误
- laravel - Laravel Nova – 从观察者类手动发送错误警报
- elasticsearch - 在 filebeat 端标记一条消息,以便能够在 kibana 上过滤(HTTP 响应代码)
- go - 仅从 Go 中的函数引用获取接收器类型和方法名称
- angular - 可通过 http 请求观察
- c - 似乎无法弄清楚这个头文件 mtrand32.h
- sql - 多个案例语句 - 函数/Sproc
- reactjs - firebase serve - 反应上下文返回未定义
- reactjs - 如何通过单击 React 引导表中的按钮使行可编辑?