基本上,我想要这样,所以我可以左右移动对象,但要使其圆周运动而不是直线运动。这是因为该对象是另一个球体的子对象,并且我想使用向左/向右箭头键在球体周围移动该对象,以便可以在球体周围建立位置。

我发现一些代码只能沿一个方向移动圆,而我无法控制它。这里是:

float timeCounter = 0;

void Update () {
        timeCounter += Time.deltaTime;
        float x = Mathf.Cos (timeCounter);
        float y = Mathf.Sin (timeCounter);
        float z = 0;
        transform.position = new Vector3 (x, y, z);
}


如果有人可以尝试将该代码“转换”为我可以使用左右箭头键控制并使其左右移动的代码,那就太好了。其他意见也非常感谢

最佳答案

float timeCounter = 0;

void Update () {
    timeCounter += Input.GetAxis("Horizontal") * Time.deltaTime; // multiply all this with some speed variable (* speed);
    float x = Mathf.Cos (timeCounter);
    float y = Mathf.Sin (timeCounter);
    float z = 0;
    transform.position = new Vector3 (x, y, z);
}

关于c# - 在Unity中以圆周运动控制/移动对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30709145/

10-12 01:56