c# - 如何偏移实例化的 GameObject 以避免重叠(数字例如 1、10、100、1000)?

标签 c# unity-game-engine

  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/

相关文章:

c# - 在 StructureMap 中使用 Registry 创建可插拔架构

ios - 如何将 Windows unity3d 许可证加载到 Mac 机器中?

c# - 关于Unity中的OnRenderImage函数

c# - MVC 使用 Html.CheckBoxFor 和可为空的 Bool

c# - 默认文件名 SaveFileDialog

c# - Unity-OnTriggerEnter 未注册碰撞

unity-game-engine - 使用代码更改布局组 childForceExpand

java - 使用统一实现 AndroidJavaClass

c# - 无法启用Unity C#调试Hololens

c# - 错误处理 : Exceptions vs Error method