我想做类似泰拉瑞亚物品侧边栏的东西。(左上角矩形之一)。这是我的代码。
变量是
public Rectangle InventorySlots;
public Item[] Quickbar = new Item[9];
public Item mouseItem = null;
public Item[] Backpack = new Item[49];
public int selectedBar = 0;
这里是初始化
inventory[0] = Content.Load<Texture2D>("Contents/Overlays/InventoryBG");
inventory[1] = Content.Load<Texture2D>("Contents/Overlays/InventoryBG2");
更新方法
int a = viewport.Width / 22;
for (int b = 0; b <= Quickbar.Length; ++b)
{
InventorySlots = new Rectangle(((a/10)*b)+(b),0,a,a);
}
画法
spriteBatch.Begin();
for (int num = 0; num <= Quickbar.Length; ++num )
spriteBatch.Draw(inventory[0], InventorySlots, Color.White);
spriteBatch.Draw(inventory[1], InventorySlots, Color.White);
spriteBatch.End();
是的,它没有完成,但是当我尝试运行它时,纹理没有出现。我无法找出我的代码有什么问题。
是否与 SpriteBatch 一起使用?在draw方法中?或在更新中?
解决
问题不在于代码本身。问题在于:
int a = viewport.Width / 22;
问题是,我认为这里的视口(我使用了初学者工具包)是游戏窗口!