【问题标题】:Change/Flip Player Sprite direction改变/翻转玩家精灵方向
【发布时间】:2017-10-15 12:09:15
【问题描述】:

目前我正在开发一款联网的 2D 平台游戏。我试图让角色始终面向他行走的方向。因此我正在使用这段代码:(顺便说一句,我知道这不应该工作)

if (rigidbody.velocity.y > 0) {
        transform.rotation = 0,0,0;
} else if (rigidbody.velocity.y < 0) {
        transform.rotation = 0,180,0;
}

所以我的问题是,当他在 y 轴上的速度超过零时,我必须使用什么代码来使角色的变换旋转为 0,0,0,而当其低于时,我必须使用什么代码来使角色的变换旋转为 0,0,0。

注意: 是的,我知道还有其他方法可以解决这个问题,但我认为在这种情况下这将是理想的方法,我很好奇。

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    翻转/改变角色面对方向的方法:

    1。您可以在SpriteRenderer 上使用此变量:

    spriteRenderer.flipX = true;
    //OR flipY for the Y-axis
    spriteRenderer.flipY = true;
    

    2.OR 将要翻转的轴乘以-1

    Vector2 newPos = new Vector2(transform.localScale.x, transform.localScale.y);
    newPos.x = newPos.x * -1; //Flip X
    transform.localScale = newPos;
    

    【讨论】:

    • 谢谢,很好的答案,最重要的是快速。定时器到时我会明确接受
    • 如果可能,设置精灵渲染器的flipX而不是旋转变换。但在某些情况下,它并不是最好的解决方案。
    • 没错。只是 OP 只是想旋转一个对象。我添加了这个和其他方法。
    猜你喜欢
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 2014-01-16
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多