如何在没有敌人与它们互动的情况下产生能量提升并检测它们何时被拾取

Posted

技术标签:

【中文标题】如何在没有敌人与它们互动的情况下产生能量提升并检测它们何时被拾取【英文标题】:How to spawn power ups and detect when they are picked up without enemies being to interact with them 【发布时间】:2017-09-21 16:50:07 【问题描述】:

我目前正在使用 sprite 和 spritekit 库制作游戏,并且正在尝试添加电源。我曾尝试使用物理实体来检测玩家何时触碰电源,但这对我不起作用,因为敌人也能够与之交互。这是一个问题,因为我只希望玩家能够拿起电源并让敌人直接从电源上走过。(游戏是自上而下的)我想知道如何实现这一点。谢谢。

【问题讨论】:

提示:developer.apple.com/documentation/spritekit/skphysicsbody/… 如果你只是给有问题的精灵一个物理伙伴,那么一切都会与一切碰撞(即当两个精灵击中时,它们会相互反弹),但不会产生接触。联系人是您所需要的,以便您的代码在您指定触摸的精灵时被调用,然后您可以根据已联系的精灵采取行动 【参考方案1】:

有很多不同的方法可以实现这一点。

您可以在开机精灵中添加一些代码,以检查碰撞精灵是否是玩家。

您还可以在敌人精灵中添加一些代码,这样当它与加电精灵碰撞时,什么都不做。

我建议您查找一些有关使用 Swift 进行游戏开发的教程。 祝你好运!

【讨论】:

不需要在敌人精灵和加电精灵中编写代码 - 您只需要确保敌人和加电精灵既不接触也不碰撞。阅读 SKPhysicsBody 类参考中的 contactTestBitMaskcollisionBitMask 是的,位掩码是要走的路!

以上是关于如何在没有敌人与它们互动的情况下产生能量提升并检测它们何时被拾取的主要内容,如果未能解决你的问题,请参考以下文章

视频泄露检测非屏蔽环境下通过VGA接口检测是否存在视频信息泄露

如何在没有 jQuery 的情况下检测 DOM 并添加一个类?

如何检测特定设备的存在

盖世大学堂丨基于动态规划的混合动力能量管理策略优化提升

如何检测图像之间的偏移

实现OpenStack与容器互动 Magnum项目备受瞩目