【发布时间】:2014-10-31 02:13:17
【问题描述】:
我的库存系统似乎有问题。
这是我的课:
package
{
import flash.display.*;
public class InventoryDemo extends MovieClip
{
var inventory:Inventory;
public function InventoryDemo()
{
inventory = new Inventory(this);
inventory.makeInventoryItems([d1,d2]);
}
}
}
我已经在第二个关键帧中放置了 d1 和 d2 对象。
这是子类:
package
{
import flash.display.*;
import flash.events.*;
public class Inventory
{
var itemsInInventory:Array;
var inventorySprite:Sprite;
public function Inventory(parentMC:MovieClip)
{
itemsInInventory = new Array ;
inventorySprite = new Sprite ;
inventorySprite.x = 50;
inventorySprite.y = 360;
parentMC.addChild(inventorySprite);
}
function makeInventoryItems(arrayOfItems:Array)
{
for (var i:int = 0; i < arrayOfItems.length; i++)
{
arrayOfItems[i].addEventListener(MouseEvent.CLICK,getItem);
arrayOfItems[i].buttonMode = true;
}
}
function getItem(e:Event)
{
var item:MovieClip = MovieClip(e.currentTarget);
itemsInInventory.push(item);
inventorySprite.addChild(item);
item.x = itemsInInventory.length - 1 * 40;
item.y = 0;
item.removeEventListener(MouseEvent.CLICK,getItem);
item.addEventListener(MouseEvent.CLICK,useItem);
}
function useItem(e:Event)
{
var item:MovieClip = MovieClip(e.currentTarget);
trace(("Use Item:" + item.name));
}
}
}
当我在舞台中只有 d1 和 d2 的黑色项目中尝试时,该代码有效。谁能帮我解决这个问题?
【问题讨论】:
-
知道错误发生在您的代码的哪个位置对我们很有用。
-
当我进行调试时,它说:无法访问空对象引用的属性或方法。在库存/makeInventoryItems()
标签: actionscript-3 class