- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试学习scenekit并完成了一本书,但只有碰撞检测部分不明白,也许是最重要的部分。有类别掩码、共谋掩码和物理体?.contactTestBitMask。
我想创建一个简单的游戏来实现这个目标,但我卡住了。我不确定我是否明白这个想法。
在游戏中,有一个球并收集珍珠,并远离岩石和洞。在这种情况下:
类别掩码:
physicalBody?.contactTestBitMask:
共谋掩码为 1,因为它们都会相互碰撞。
我不确定是否遇到此碰撞问题。因此,在开始编写代码之前,我想确定一下。在SCNPhysicsContactDelegate中,下面的函数解决了如何学习彼此接触时的情况:
physicsWorld(_ didBegin contact: _) {
var contactNode:SCNNode!
if contact.nodeA.name == "ball" {
contactNode = contact.nodeB
} else {
contactNode = contact.nodeA
}
if contactNode.physicsBody?.categoryBitMask == 0b0010 {
// mean pearls
// raise score etc
}
if contactNode.physicsBody?.categoryBitMask == 0b0100 || 0b1000{
if contactNode.name == "Rock" { print("You rocked") }
if contactNode.name == "Hole" { print("You need to climb") }
}
}
我搜索了 youtube 和 stack,但只有一种解释。 Stack LinkYouTube 视频没有解释这些。书中的示例受版权保护,因此我不能将它们放在这里。
谢谢你,祝你有美好的一天。
最佳答案
您没有使用按位运算符。 https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html
改变
if contactNode.physicsBody?.categoryBitMask == 0b0100 || 0b1000
到
if contactNode.physicsBody?.categoryBitMask == 0b0100 | 0b1000
单曲|和 & 是用于此类按位运算的正确运算符。
关于swift - 如何正确使用Scenekit的类别 mask 、碰撞 mask 和物理体、contactTestBitMask并做出适当的碰撞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54028806/
我创建了一个库项目,然后构建它,获取 .aar 并解压缩它。获取包含库的 classes.jar 文件,并将其添加到另一个项目中。该项目识别我的文件,我可以从中调用方法和函数。我的问题是我尝试从我的库
这不是现实世界的问题,我只是想了解如何创建 promise 。 我需要了解如何为不返回任何内容的函数做出 promise ,例如 setTimeout。 假设我有: function async(ca
我是 Promise 的新手。我写了两个例子: 第一个是: new RSVP.Promise(function (resolve, reject) { setTimeout(function
我有一个 nodejs (express) 作为服务器端,一个 angular 6 作为客户端。在服务器中我有中间件功能,可以进行 session 检查。如果 session 无效或不存在,我想向客户
我有一个 nodejs (express) 作为服务器端,一个 angular 6 作为客户端。在服务器中我有中间件功能,可以进行 session 检查。如果 session 无效或不存在,我想向客户
我有四个 I/O 操作:A、B、C 和 D。它们中的每一个都应该使用 vertx.executeBlocking 来执行。我应该有以下行为: //PSEUDOCODE waitForExecuteBl
我是一名优秀的程序员,十分优秀!