绘制矩形多维数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绘制矩形多维数组相关的知识,希望对你有一定的参考价值。
我目前正在研究库存系统,但是我在弄清楚应该如何绘制它时遇到了问题。
我有一个看起来像这样的矩形数组:
Rectangle[] Inventoryslots = new Rectangle[24]; // 24 slots
现在我想绘制像6 * 4列,6个槽宽和4个槽高的槽。
我正在画它们,直到我弄清楚我应该如何在y上绘制它们:
for (int i = 0; i < Inventoryslots.Length; i++)
{
Inventoryslots[i] = new Rectangle(i * 33, 0, box.Width, box.Height);
spriteBatch.Draw(box, Inventoryslots[i], Color.White);
}
因此,当[i]
达到6并且还重置x位置时,我想以某种方式移动y33。
我确信这很简单,但我无法弄清楚,所以任何帮助都会节省我很多时间。
答案
首先创建一个多维数组和常量
const int offset = 100;
Rectangle[,] Inventoryslots = new Rectangle[6, 4];
那么你将使用双嵌套for循环进行初始化
for (int x = 0; x < 6; x++)
{
for (int y = 0; y < 4; y++)
{
Inventoryslots[x, y] = new Rectangle((x * Width) + offset,
(y * Height) + offset, Width, Height);
}
}
那么你将做一个双嵌套for循环来迭代它们
for (int x = 0; x < 6; x++)
{
for (int y = 0; y < 4; y++)
{
spritebatch.draw(texture, Inventoryslots[x, y], Color.White);
}
}
至少我认为这就是你要问的,让我知道它是如何工作的。常量可用于移动整个矩形数组(如果要单独操作X和Y,请使用vector2)
以上是关于绘制矩形多维数组的主要内容,如果未能解决你的问题,请参考以下文章