(一)测试前准备工作
1.创建两个游戏对象,分别取名为”Player”和”Enemy”,并且为名为”Player”的游戏对象设置Tag也为”Player”,二者在场景中如图1所示:
2.编写脚本组件”TriggerTest”,并挂载到Enemy上,代码如图2所示:
(二)测试用例
A3、A4、B1、B2与(一)中预设冲突,故舍弃。
A5-A8以及B5-B8是一定不可能发生碰撞的用例,故舍弃。
游戏对象 |
用例序号 |
是否挂载碰撞器 |
是否挂载刚体 |
是否挂载TriggerTest |
Player |
A1 |
√ |
|
|
A2 |
√ |
√ |
|
|
A3 |
√ |
√ |
√ |
|
A4 |
√ |
|
√ |
|
A5 |
|
|
|
|
A6 |
|
√ |
|
|
A7 |
|
√ |
√ |
|
A8 |
|
|
√ |
|
Enemy |
B1 |
√ |
|
|
B2 |
√ |
√ |
|
|
B3 |
√ |
√ |
√ |
|
B4 |
√ |
|
√ |
|
B5 |
|
|
|
|
B6 |
|
√ |
|
|
B7 |
|
√ |
√ |
|
B8 |
|
|
√ |
测试用例组合 |
控制台输出 |
A1、B3 |
输出Trigger |
A1、B4 |
无 |
A2、B3 |
输出Trigger |
A2、B4 |
输出Trigger |
(三)测试总结
根据表1和表2可知,有效碰撞的必要条件如下:
(1)两个游戏对象都需要挂载至少一个碰撞器组件;
(2)两个游戏对象至少有一个挂载刚体组件;
(3)至少有一个刚体组件的服务器托管网BodyType不为Static。
(四)碰撞检测相关的API
(1)OnCollisionEnter()和OnCollisionEnter2D();
(2)OnCollisionStay()和OnCollisionStay2D();
(3)OnCollisionExit()和OnCollisionExit2D();
(4)OnTriggerEnter()和OnTriggerEnter2D();
(5)OnTriggerStay()和OnTriggerStay2D();
(6)OnTriggerExit()和OnTriggerExit2D();
具体看官方关于Monobehaviour类的说明。
如果这篇文章对你有帮助,请给作者点个赞吧!
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
新内容 (06/2023): 这篇博文受到 “在多语言 ASR 上微调 XLS-R” 的强烈启发,可以看作是它的改进版本。 Wav2Vec2 是自动语音识别 (ASR) 的预训练模型,由 Alexei Baevski、Michael Auli 和 Alex C…