我正在尝试为我的游戏制作一个库存,我有两个问题,我无法弄清楚如何修复。其中一个问题是插槽似乎位于同一位置,我希望有25个像素的空间,另一个问题是游戏当时只显示一个插槽而不是所有插槽。
请记住,我不是一个优秀的程序员。
这是我的代码:
public void loadInventory(Graphics g){
if(item != null){
for (int i = 0; i < slot.length; i++){
if (slot[i] == null) {
slot[i] = "";
break;
}
}
for (int i = 0; i < slot.length; i++){
if (slot[i] != null){
g.drawString(item.getName() + ": " + itemGroup.size(), 400, 100 + (i * 25));
break;
}
}
}
}
答案 0 :(得分:0)
此处未向该方法提供项目,而是提供字段:
public void loadInventory(Graphics g){
if(item != null){
因此,您每次调用方法loadInventory()
时都会覆盖该项目
更改方法,以便接受数组或更好的Item
列表:
public void loadInventory(Graphics g, List<Item> items){
并使用此列表绘制它们:
for (int i = 0; i < slot.length; i++){
if (slot[i] != null && items.get(i) != null){
g.drawString(items.get(i).getName() + ": " + itemGroup.size(), 400, 100 + (i * 25));
}
}
}
并删除终止循环的break
。
答案 1 :(得分:0)
删除break语句 - 它们停止所有代码的执行,并且不允许其余的逻辑跟随。
你也不需要额外的声明。
function textWidth() {
var TextDiv = document.getElementById("link-menu");
var txtWidth = (TextDiv.clientWidth + 1);
document.getElementById("underline").style.width = txtWidth + 'px';
}
function textWidthInitial() {
document.getElementById("underline").style.width = '0px';
}