sprite-kit - 如何跟踪 2 个精灵之间的多次碰撞?
问题描述
这里举个例子,只是为了便于理解:
Sprite A 是一个球。Sprite B 是一个立方体。当球接触立方体一次时,我希望标签说第一次接触。当同一个球再次接触同一个立方体时,我希望标签说第二次接触。当同一个球,再次接触同一个立方体时,我想让标签说第三次接触。
我该如何做到这一点?
在我看来,Sprite 套件似乎只允许对精灵之间的 1 次碰撞进行编程,这是非常有限的。特别是,因为我想创建一个敌人,它实际上会根据从玩家那里接收到的命中量来改变行为,而不仅仅是每次碰撞都采取相同的动作。
解决方案
想出了一个办法。如果您为精灵 A 分配分数并使用累积分数来跟踪分数,那么您可以使用“分数”作为碰撞计数器。因此,每次精灵 A 接触精灵 B 时,分数都会增加 10 分,然后简单地说 if score == 100 for example ... program something or if score == 150 ... program something (did begin method) 并且它起作用了,允许您在每个碰撞点用相同的精灵编写不同的动作或任何东西!惊人的。没想到它会起作用,但它确实起作用了:)
推荐阅读
- sql - 具有顶行过滤器后如何从行数中获取表的所有行数
- php - 使用 php 更新值
- python - 如何在 kfold 交叉验证中获取每个折叠的训练和测试数据?
- vba - Powerpoint VBA 选择幻灯片上所有相似的形状
- flutter - 如何在颤振中集成.h5文件
- python - PyString_AsString 增加引用计数器
- html - 如何通过在本地保存 html 页面来测试 puppeteer 代码?
- php - 无法弄清楚 Wordpress Rwmb 元使用/不工作
- php - 卷曲停止无限通话api
- javascript - 如何在 WebView2 控件中显示查找对话框?