定位数组内容(精灵)
Positioning Array Content (Sprites)
我有带数字的图片(我的意思是 Sprites)。
我把它们放在一个空的游戏对象上,我的意思是 [SerializeField] 并通过脚本(C# Ofcourse)添加,所以对象并不真正存在,它们是在游戏开始时生成的。
因此,正如您在代码中看到的那样,我可以设置行和列的数量以及偏移量以及 X 和 Y 轴上的距离。但我不能重新定位它。似乎第一个生成的被锁定在项目的中间(第一个左上角)所以我试图移动空游戏对象的 gizmo 但即使我使用 Inspector 相反,精灵仍然在现场.好像需要在脚本中定位,但是怎么办?
请给我足够的示例 可以与 Unity 一起使用吗?
我尝试的是将它定位在 Unity 中,正如我已经提到的移动游戏对象的 Gizmo 以及在检查器中它真的似乎只能在脚本上完成(我可能是错的但我试过了一切)。
public class Controll : MonoBehaviour
{
public const int gridRows = 6;
public const int gridCols = 6;
public const float offsetX = 0.65f;
public const float offsetY = 0.97f;
[SerializeField] private GameObject[] cardBack;
// Use this for initialization
void Start ()
{
for (int i = 0; i < gridRows; i++)
{
for (int j = 0; j < gridCols; j++)
{
Instantiate(cardBack[i], new Vector3(offsetY*j, offsetX* i *-1 , -0.1f), Quaternion.identity);
}
}
}
您正在将所有对象实例化到场景根级别。它们与最初负责实例化的 GameObject 没有任何关系。
如果您希望它们相对于生成的游戏对象定位,则使用
var position = transform.position + new Vector3(offsetY * j, offsetX * i * -1, -0.1f);
实例化(cardBack[i], position, Quaternion.Identity, <b>transform</b>);
为了将它们实例化为 GameObject 的子对象,此 Controll
脚本被附加到。
现在,如果您平移、旋转或缩放该父对象,所有实例化对象都会随之变换。
我有带数字的图片(我的意思是 Sprites)。 我把它们放在一个空的游戏对象上,我的意思是 [SerializeField] 并通过脚本(C# Ofcourse)添加,所以对象并不真正存在,它们是在游戏开始时生成的。 因此,正如您在代码中看到的那样,我可以设置行和列的数量以及偏移量以及 X 和 Y 轴上的距离。但我不能重新定位它。似乎第一个生成的被锁定在项目的中间(第一个左上角)所以我试图移动空游戏对象的 gizmo 但即使我使用 Inspector 相反,精灵仍然在现场.好像需要在脚本中定位,但是怎么办?
请给我足够的示例 可以与 Unity 一起使用吗?
我尝试的是将它定位在 Unity 中,正如我已经提到的移动游戏对象的 Gizmo 以及在检查器中它真的似乎只能在脚本上完成(我可能是错的但我试过了一切)。
public class Controll : MonoBehaviour
{
public const int gridRows = 6;
public const int gridCols = 6;
public const float offsetX = 0.65f;
public const float offsetY = 0.97f;
[SerializeField] private GameObject[] cardBack;
// Use this for initialization
void Start ()
{
for (int i = 0; i < gridRows; i++)
{
for (int j = 0; j < gridCols; j++)
{
Instantiate(cardBack[i], new Vector3(offsetY*j, offsetX* i *-1 , -0.1f), Quaternion.identity);
}
}
}
您正在将所有对象实例化到场景根级别。它们与最初负责实例化的 GameObject 没有任何关系。
如果您希望它们相对于生成的游戏对象定位,则使用
var position = transform.position + new Vector3(offsetY * j, offsetX * i * -1, -0.1f);
实例化(cardBack[i], position, Quaternion.Identity, <b>transform</b>);
为了将它们实例化为 GameObject 的子对象,此 Controll
脚本被附加到。
现在,如果您平移、旋转或缩放该父对象,所有实例化对象都会随之变换。