【发布时间】:2015-08-12 15:58:32
【问题描述】:
Unity2D 的 Sprite 渲染有问题。
目前我有一个用于游戏板的精灵,一个持有 spawnPoint 的空游戏对象,一个标记它的随机精灵,以及一个作为预制件实例化的 playerSprite。如果我只是在 Unity 上使用层次结构,playerSprite 会完美地显示在 gameBoard 上方,并且“硬编码”其位置将始终保持在 gameBoard sprite 上方,肉眼可见。
当我想实例化 gameBoard 并将 playerPrefabs 动态添加到游戏中时,问题就来了。
这是我目前正在使用的当前代码sn-p:
gameBoard.SetActive(true); //gameBoard is defined as a public gameObject with its element defined in Unity as the gameBoard sprite.
Player.playerSprite = (GameObject)Instantiate(Resources.Load("playerSprite"));
Player.playerSprite.transform.localPosition = spawnPoint.transform.localPosition;
结果是 spritePrefab 在我想要的完美位置生成,但在 gameBoard sprite 后面,使其在游戏运行时隐藏。
使用transform.position代替transform.localPosition的结果是一样的
我应该如何编码转换部分。这样我仍然可以让我的 playerSprite 可见?谢谢。
【问题讨论】:
-
请务必使用Unity3d标签; Unity 标签用于 Unity 依赖注入框架。
-
注意到了。附加信息:除了精灵本身之外,没有一个精灵包含任何其他组件。
标签: unity3d