【问题标题】:Random.Range GameObject RotationRandom.Range 游戏对象旋转
【发布时间】:2017-12-14 13:17:59
【问题描述】:

我想做点什么,我什至不出来。我有一个精灵。当我开始时,我希望它旋转到这些(90f,-180f,-90f)的随机位置。 例如给出起点,它的位置是z轴上的-90f,或-180f,或90f。我是初学者,了解的不多。救命!!!

public GameObject sprite;

void Start()
{
    //random z position (90f, -180f, -90f)
    //sprite.transform.Rotate
}

【问题讨论】:

    标签: c# unity3d random euler-angles


    【解决方案1】:

    定义一个可能的旋转数组,并使用Random.Range 选择一个随机元素。

    void Start()
    {
        Vector3 eulerAngles = sprite.transform.eulerAngles ;
        float[] angles = new float[]{-180f, -90f, 90f};
        int index = Random.Range(0,angles.Length-1);
        eulerAngles.z = angles[index] ;
        sprite.transform.eulerAngles = eulerAngles ;
    }
    

    【讨论】:

    • 感谢您的反馈。如果对您有帮助,请不要忘记接受答案。
    • @Hellium 那行虽然rotation.z = (new float[]{-180f, -90f, 90f})[Random.Range(0,2)]; ^^ 我一直认为可读性是良好编程(或至少教初学者)的关键特征之一? :P 但它也很酷,我以前从来没有这样想过 :D
    • @yes :确实,我同意,这个很恶心 ^^' 将我的代码更改为更清洁的代码! ;D
    猜你喜欢
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多