unity3d - 当 eulerangles 为 180 时,Unity 2D Shotgun 射击不起作用
问题描述
我正在尝试让 5 颗子弹同时朝不同的方向射击(-30, -15, 0, 15, 30)
当我朝正确的方向射击时它可以工作,但是当我射击时left(rotation(0,-180,0)
,它会忽略它的旋转并沿直线移动。
对于子弹移动,我正在使用:
if (t.rotation.y.Equals(0))
{
t.Translate(t.right * bSpeed * Time.deltaTime);
}
else
{
t.Translate(t.right * -1 * bSpeed * Time.deltaTime);
}
对于子弹旋转:
for (int i = 0; i < 5; i++)
{
GameObject bt = objectPool.SpawnFromPool(Bullet, firePoint.position, firePoint.rotation);
switch (i)
{
case 0:
bt.transform.Rotate(0, 0, -30);
break;
case 1:
bt.transform.Rotate(0, 0, -15);
break;
case 2:
bt.transform.Rotate(0, 0, 0);
break;
case 3:
bt.transform.Rotate(0, 0, 15);
break;
case 4:
bt.transform.Rotate(0, 0, 30);
break;
}
}
按我的意图工作 ……朝着他们所面临的方向前进。
不工作 不工作。我希望每个子弹都随着它们的旋转而移动。
请帮我!
解决方案
推荐阅读
- node.js - 无法使用 findOne 从 mongodb 检索用户
- numpy - 将数据库中的多个值组合到一张图像中
- azure-functions - 在 Azure 持久函数中,如何获取一个活动函数的输出作为另一个函数的输入
- android - Android MediaStore - 存储 zip 文件并作为文件打开
- javascript - 无法访问请求函数 JS 中的变量
- azure - 预测成本 Azure API
- javascript - 单击子元素时反应单击事件不起作用
- tensorflow - 停止 TensorFlow 尝试临时加载 cuda
- python - 执行 python.exe 时出现 WinError 6
- flutter - 如何在 Flutter Web 中使用 imagePicker?