ios - 添加SKNode作为触发器,这样就不会影响其他节点的路径

标签 ios swift sprite-kit

所以,我想知道是否可以添加一个 SKSpriteNode 并为其提供物理体/属性,使其仅用作触发器。它可以被认为是比赛中的终点线。当你通过这条线时,你会得到一个点或其他东西,但你的路径不会受到物理/视觉上的影响;你直接穿过它。我确信这是可能的,但是,我不知道如何实现。这是我目前拥有的 Sprite :

var revolutionBar = SKShapeNode(circleOfRadius: 25)
revolutionBar.alpha = 1
revolutionBar.fillColor = SKColor.blueColor()
revolutionBar.physicsBody = SKPhysicsBody(circleOfRadius: 20)
revolutionBar.physicsBody?.affectedByGravity = false
self.addChild(revolutionBar)

我应该添加什么才能实现我想要的?

最佳答案

假设您想要实现的是在传递该行后触发一个函数,您可以通过首先将 SKSpriteNode 设置为具有 categoryBitMask 来实现此目的,并且一个collisionBitMask

接下来,您在 swift 文件中编写一个 didBeginContact 函数,并处理检查这些节点是否是触发此事件的正确节点的条件。

关于ios - 添加SKNode作为触发器,这样就不会影响其他节点的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250516/

相关文章:

ios - 将我的敌人类实现到游戏场景

ios - applyImpulse 在接触节点时不起作用

iOS 6 vs 7 外观build设置

ios - 如何从自定义 Timer 对象更新 View

javascript - Phonegap PushNotification,如何将我的 Node 推送服务器与phonegap一起使用?

ios - MKMapView 中的动画标题更改

objective-c - swift 4 : Non-nominal type 'T' does not support explicit initialization when converting Objective-c to Swift

xcode - 如何将披露按钮设置为 UItableViewCell

ios - Swift 3:呈现弹出窗口时崩溃

ios - SKVideoNode 不会播放加载了本地视频的 AVPlayer