如何在C#中引用精灵的宽度



我目前是第一次在Unity工作。我正在尝试按程序创建平台化级别。我找到了一些资源,帮助我制定了一个非常简单的算法来实现这一点,但在视觉上,它有点缺乏。我使用了一个精灵作为地面,它来自我从资产商店中提取的资产,瓷砖重叠,看起来很傻。我正试图找出如何参考瓷砖的宽度,以便它将在上一个精灵/瓷砖的旁边而不是上面绘制下一个。这就是我的当前水平生成器的样子:

public class LevelGenerator: MonoBehaviour
{
[SerializeField] int width, height;
[SerializeField] GameObject ground;
// Start is called before the first frame update
void Start()
{
Generator();
}

public void Generator()
{
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
Instantiate(ground, new Vector2(x, y), Quaternion.identity);
}

}

我想把x和y++改为x+=ground.width,y+=ground.height。我在谷歌上搜索过,但没有找到任何明确的答案。如有任何指示,我们将不胜感激。谢谢大家,祝大家愉快!

您可以从精灵的矩形中获取精灵的宽度和高度。

width = mySprite.rect.width;
height = mySprite.rect.height;

Sprite 参考

相关内容

  • 没有找到相关文章

最新更新