我尝试使用C#和Unity创建一个简单的游戏机制,允许玩家向右转45
度,然后将新的旋转设置为-45
。它有点工作:
using UnityEngine;
using System.Collections;
public class Movement : MonoBehaviour
{
public float speed = 215f;
private bool isLeft = false;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
if (isLeft == false)
{
transform.rotation = Quaternion.Euler(90, 45,0);
isLeft = true;
Debug.Log("Turned Right");
}
else
{
transform.rotation = Quaternion.Euler(90, 0, 0);
// No matter what I put as the x value, it always sets it to the z,
// for example: if I put
// transform.rotation = Quaternion.Euler(90, 270, 0);
// the position would be 90, 0, 270.
Debug.Log("Turned Left");
isLeft = false;
}
}
}
}
这就是我想要发生的事情:
第一次点击:旋转值设置为90, 45, 0
第二次点击:轮换值设置为90, -45, 0
我使用的命令错了吗?
答案 0 :(得分:0)
如果您更改此行: 。 transform.rotation = Quaternion.Euler(90,0,0);对于这个 。 transform.rotation = Quaternion.Euler(90,-45,0); 应该解决你的问题。
快乐的编码!