【问题标题】:how to find the value of an array in a random location?如何在随机位置找到数组的值?
【发布时间】:2013-02-21 23:32:06
【问题描述】:

我有一个我试图随机化的对象数组,我想知道如何使用 Debug.log 在数组中找到随机位置的数据?这主要是为了让我知道它是否工作正常。

我的代码:

    while(Deck.length != suffledDeck.length)
    {       
        var ranNum = Random.Range(1,Deck.length);

        suffledDeck.Add(Deck[ranNum]);

        Debug.Log(suffledDeck[ranNum]);

        //Debug.Log(suffledDeck[ranNum]);
    }

【问题讨论】:

标签: arrays random unity3d unityscript


【解决方案1】:

你可以用这个函数来洗牌:

//@ http://jsfromhell.com/array/shuffle [v1.0]
function shuffle(o){ //v1.0
    for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
    return o;
};
deck = shuffle(deck);

之后,您可以正常访问您的阵列。

【讨论】:

  • 什么是suffledDeck的类型。如果它是一个数组,你可以使用 push 函数,这个函数返回数组中的位置。 var position = suffledDeck.push(Deck[ranNum]); Debug.Log(suffledDeck[position]);
  • 我发现我正在查看随机数字的位置,而不是我所在的当前位置。
猜你喜欢
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
相关资源
最近更新 更多