0
即時製作庫存系統,並且iv設法在x軸上添加/刪除和排序項目。所以它所做的只是添加和刪除,並將它們放在一行上。我似乎無法弄清楚如何使它每隔10個瓦片就下來1 y的空間,或者如此。即時通訊使用這樣的方法,在我的遊戲另一件事,但IDK的.. IC螞蟻弄清楚如何做到這一點對我的庫存將項目包裝在網格中
tile.x = TILE_SIZE * (i % 800);
tile.y = TILE_SIZE * (j % 600);
繼承人我的代碼,添加項目到庫存
protected function addInvItem(item:MovieClip, c:Class)
{
item = new c();
inventory.itemsInInventory.push(item);
inventory.inventorySprite.addChild(item);
item.x = (inventory.itemsInInventory.length-1)*40;
item.y = 0;
item.width = 30;
item.height = 25;
item.addEventListener(MouseEvent.CLICK, inventory.useItem);
}
這個代碼刪除,並當U單擊一個項目
public function useItem(e:MouseEvent)
{
var item:MovieClip = MovieClip(e.currentTarget);
inventorySprite.removeChild(item);
itemsInInventory.splice(itemsInInventory.indexOf(item), 1);
item.removeEventListener(MouseEvent.CLICK, useItem);
sortInventory();
}
public function sortInventory()
{
for (var i:int = 0; i < itemsInInventory.length; i++)
{
itemsInInventory[i].x = i * 40;
}
}
真棒人!這幾乎奏效,但它把第一行中的第一行放在第一行,而不是第二行:c 它也爲所有以下行做了這一點,將第一行第一行放到高位 – Sniffle6
抱歉。我搞砸了...我認爲它應該是: 'item.y = 40 * Math.floor(len/10);' – Karmacon
大聲笑,我改變它之前喲回覆,它是把它的第一個項目上的右側一個空間,其餘都很好,但是當我使用循環它工作正常,所以我可以只用循環添加項目和分類項目:)我真的很感激它! – Sniffle6