【问题标题】:Instantiate prefabs in 3 different locations randomly随机实例化 3 个不同位置的预制件
【发布时间】:2014-07-14 12:30:55
【问题描述】:

我需要一次在 3 个位置生成一个预制件。就像它在生成位置 1 上生成一样,然后在一秒钟后随机生成到另一个生成位置 1 2 或 3。

我只能使用以下代码实例化对象:

transform.position = Random.insideUnitCircle * 5;

但我需要将生成位置固定为 (5,0,0) (3,0,0) 和 (0,0,0)。

【问题讨论】:

    标签: c# random unity3d


    【解决方案1】:

    您只需要保留一份职位列表

    List<Vector3> positions = {...};
    
    void SelectPosition(){
     //Generate index (a random integer between 0 and 2)
     //Assign to transform.position = positions[index];
    
    }
    

    抱歉伪代码,我在手机上,稍后会尝试扩展它。

    【讨论】:

    • 我实际上在某个地方读到了类似的东西,问题是它在 JS 中,他正在使用“case”来调用函数。也许你能告诉我这是如何工作的?太感谢了。我现在是新人,正在学习
    • 您可以在 Update() 中仅使用 SelectPosition() 调用该函数,如果您需要在特定时间间隔调用它,您可以将上次调用它的时间保存在类变量中,并检查当前时间反对它(记住每次调用 SelectPosition() 时更新类变量)
    • 所以我放弃了。经过几天的尝试,我仍然无法让它工作。似乎无法理解列表3。所以任何帮助仍将不胜感激。 :)
    猜你喜欢
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多