【问题标题】:Rotation in Unity2DUnity2D中的旋转
【发布时间】:2015-09-03 22:06:52
【问题描述】:

是否可以将游戏对象从屏幕的一侧移动到另一侧,但同时让它旋转一圈??

例如,我正在使用此代码来移动对象:

Vector3 carPos = new Vector3 (transform.position.x, Random.Range (7.09f, -6.63f), transform.position.z);

如何让对象在 2 秒内绕其轴旋转 360 度?我尝试过使用 z 位置,但它只能在一个圆圈中移动,而不是在屏幕上移动。

【问题讨论】:

  • 试试transform.Rotate(0, 0, 10);结合简单的翻译。要计算适合那里的角度,您必须进行数学运算(将围绕 animTime distancePi
  • 对不起,我是 Unity 新手,如果您能解释一下翻译的意思,我将不胜感激??

标签: c# android unity3d-2dtools


【解决方案1】:

你可以统一使用动画来旋转你的对象,你可以配置时间和速度

https://unity3d.com/learn/tutorials/topics/animation

【讨论】:

  • 这个链接把我带到了一个非常广泛的动画主题。我刚从 Xcode 搬过来时,我只有 Unity 的基本知识。一些代码的任何机会??
  • 在链接中你可以看到一些例子,动画师是一个视觉工具,所以我不能给你部分代码
【解决方案2】:

使用 transform.position = Vector3.Lerp(A, B,...) 将对象从 A 点移动到 B 点。同时(我不确定我是否理解正确)使用 transform .Rotate(0, 0, speed * Time.deltatime) 围绕 z 旋转对象。将两者都放在更新循环中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    相关资源
    最近更新 更多