【问题标题】:How to rotate a sprite from single pictures with difference rotations?如何从具有不同旋转的单张图片中旋转精灵?
【发布时间】:2015-03-25 20:52:30
【问题描述】:

我想创建一个精灵并在开始时旋转它。下面的代码是在图片中创建编号1

sprite = Sprite.Create(texture2, new Rect(0, 252, 84, 84),
         new Vector2(0.5f, 0.5f), 100.0f);

现在我可以将图片剪切到我的精灵,但我想创建 4 个不同的精灵,它们的方向是顶部、左侧、右侧和底部。我该怎么做。

注意:使用transform.rotation 不起作用,因为这会旋转一个在我控制它们时给出错误方向的对象。

我是初学者。谢谢。

【问题讨论】:

  • 使用变换旋转每个单独的坦克是正确的方法。
  • 如果你想旋转它们,请确保将原点设置在中间,否则你的精灵将围绕左上角旋转,x 和 y 位置可能不像它们所代表的那样“看起来” “正确”的位置

标签: c# unity3d unityscript


【解决方案1】:

尝试使用transform.Rotate 封装在方法中要容易得多。 例如: 图2:

sprite.transform.Rotate(new Vector3(90,0,0));

图3:

sprite.transform.Rotate(new Vector3(180,0,0));

图 4:

sprite.transform.Rotate(new Vector3(270,0,0));

我希望这能回答你的问题,如果不是让我知道的话。

【讨论】:

  • 我也会选择这个答案。 + 为此,要朝坦克面对的方向移动,我会使用这个 transform.position += transform.forward * Time.deltaTime * movementSpeed;并且这个向后移动 transform.position += transform.forward * Time.deltaTime * motionSpeed;
【解决方案2】:

应该使用 Unity“SpriteEditor”来创建精灵 unity 使您可以轻松管理精灵。 unity 制作关于 2d 游戏开发和精灵编辑器的示例/教程 这里Learn Unity 2D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多