如何偏移实例化的GameObject以避免重叠(数字ex 1,10,100,1000)?

时间:2015-12-25 16:14:57

标签: c# unity3d

  string scoreText = score.ToString ();
    for (int i = 0; i < scoreText.Length; i++){ 
        var go = (GameObject)Instantiate(Resources.Load(scoreText[i].ToString()));
        go.transform.localPosition = new Vector3(0, 0.08F, 0);
     }

我正在实例化数字游戏对象。它们代表了不断变化的分数。当我的号码被启动时,我需要他们分开一些空间。这应该很简单,但我一直坚持这一点。有人可以指出这是怎么做的吗?

我尝试通过在字符之间添加空格来添加字符串scoreText,但这只会在第一个字符消失后生成字符。

1 个答案:

答案 0 :(得分:2)

从初始位置开始,使用for循环的迭代器i来增加你的位置。

for (int i = 0; i < scoreText.Length; i++)
{
    ...
    go.transform.localPosition = new Vector3(0, i * 0.08F, 0);
}

这将从0开始作为初始位置,然后为每个新对象添加0.08F。

0 * 0.08F = 0
1 * 0.08F = 0.08F
2 * 0.08F = 0.16F

etc.

我希望这会有所帮助。