Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击按钮时如何更改动态观察方向?_C#_Unity3d_Rotation_Direction_Orbit - Fatal编程技术网

C# 单击按钮时如何更改动态观察方向?

C# 单击按钮时如何更改动态观察方向?,c#,unity3d,rotation,direction,orbit,C#,Unity3d,Rotation,Direction,Orbit,我正在尝试开发一个简单的游戏。 我的问题是我正在使用下面的代码以顺时针轨道移动对象。当按下按钮时,我想将物体的方向改为逆时针旋转 //在60秒内将速度从1提高到10。 currentSpeed=数学平滑步长(1f、10f、时间/加速时间); //决定球的速度。 newSpeed+=Time.deltaTime*当前速度; //以相应的速度在圆周位置移动球。 transform.position=newvector3(数学Sin(新速度)*40,5,数学Cos(新速度)*40); //用实际时间增

我正在尝试开发一个简单的游戏。 我的问题是我正在使用下面的代码以顺时针轨道移动对象。当按下按钮时,我想将物体的方向改为逆时针旋转

//在60秒内将速度从1提高到10。
currentSpeed=数学平滑步长(1f、10f、时间/加速时间);
//决定球的速度。
newSpeed+=Time.deltaTime*当前速度;
//以相应的速度在圆周位置移动球。
transform.position=newvector3(数学Sin(新速度)*40,5,数学Cos(新速度)*40);
//用实际时间增加时间。
time+=time.deltaTime;
if(Input.GetMouseButtonDown(0))
{
transform.position=newvector3(Mathf.Cos(newSpeed)*40,5,Mathf.Sin(newSpeed)*40);
}
else{}

每次单击按钮时,将
新闻速度
乘以
-1
。这将根据其当前值将其值翻转为负值或正值,从而导致
Vector3(Mathf.Cos(newSpeed)*40,5,Mathf.Sin(newSpeed)*40)
也翻转其结果并最终改变轨道方向

if(Input.GetMouseButtonDown(0) )
{
    //Flip direction
    newSpeed *= -1f;

    transform.position = new Vector3(Mathf.Cos(newSpeed) * 40, 5, Mathf.Sin(newSpeed) * 40);
}

它会改变,但只会改变一帧。