gpt4 book ai didi

c# - 如何在移动时忽略旋转? (在 Unity 中使用 C#)

转载 作者:太空狗 更新时间:2023-10-29 13:15:26 24 4
gpt4 key购买 nike

我在编程方面非常菜鸟,但我想使用一些教程尝试一些东西。

我基本上有一个对象,它使用 Android 的加速计旋转,然后通过使用两个按钮,它可以向左或向右移动。为此,我使用

transform.Rotate (0, 0, -temp * Time.deltaTime);

transform.Translate (speed * Time.deltaTime, 0, 0);

程序正常运行,一旦对象旋转,它就会在“新的 x 轴”中移动,但我希望它在“世界的 x 轴”中移动,这是“永久的”。

由于我的编程和英语都很差,所以我画了一个简单的图,这样更容易理解我想做什么:

http://i.stack.imgur.com/LpM1J.png

作为大写字母会发生什么(并且应该按照编程的方式发生)以及我想要实现的其他目标。关于如何执行此操作并“忽略”对象的旋转有什么建议吗?

谢谢你的时间:D

最佳答案

如文档中所述,Transform.Rotate()默认情况下确实在局部空间旋转,但可以配置为使用世界空间:

transform.Rotate (0, 0, -temp * Time.deltaTime, Space.World);

Translate()相同:

transform.Translate (speed * Time.deltaTime, 0, 0, Space.World);

关于c# - 如何在移动时忽略旋转? (在 Unity 中使用 C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com