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 的字符之间添加空格,但这只会使第一个字符之后的字符消失。
最佳答案
从初始位置开始,使用 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.
我希望这会有所帮助。
关于c# - 如何偏移实例化的 GameObject 以避免重叠(数字例如 1、10、100、1000)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34464395/