2013-12-13 48 views
0

當我單擊場景中的蘋果對象時,我的代碼返回錯誤1009的pickObject函數,我真的不明白爲什麼?我被困在這裏。希望得到一些幫助。錯誤1009類和函數

這是我在時間軸代碼:

//INVENTORY 
import flash.events.MouseEvent; 
import inventory.inventorySystem; 
import inventory.itemC; 
import flash.text.TextField; 

var IS:inventorySystem; 
var IT:itemC; 

apple.itemName = "Apple"; 
apple.itemIcon = new AppleIcon(); 

apple.addEventListener(MouseEvent.MOUSE_MOVE, showItemNameF); 
apple.addEventListener(MouseEvent.MOUSE_OUT, hideItemNameF); 
apple.addEventListener(MouseEvent.MOUSE_DOWN, pickUpItem); 

pear.itemName = "Pear"; 
pear.itemIcon = new PearIcon(); 
pear.addEventListener(MouseEvent.MOUSE_MOVE, showItemNameF); 
pear.addEventListener(MouseEvent.MOUSE_OUT, hideItemNameF); 

function pickUpItem(e:MouseEvent):void{ 
    IS.addObject(itemC(e.currentTarget)); 
    removeChild(itemC(e.currentTarget)); 
} 

function showItemNameF(e:MouseEvent):void{ 
    var itemNameBox:String; 
    itemNameBox = itemC(e.currentTarget).itemName; 
    stage.addChild(infoBoxObject); 
    infoBoxObject.infoBox.text = itemNameBox; 
    infoBoxObject.x = mouseX+12; 
    infoBoxObject.y = mouseY; 
} 

function hideItemNameF(e:MouseEvent):void{ 
    infoBoxObject.x = -145; 
    infoBoxObject.y = 61; 
} 

//CURSOR 

Mouse.hide(); 
var cursor:cursorImage = new cursorImage(); 
stage.addChild(cursor); 
cursor.startDrag(true); 

這裏是我inventorySystem類:

package inventory{ 

    public class inventorySystem{ 

     private var slot:Array = new Array(10); 
     public function addObject(it:itemC){ 
      for(var i=0;i<10;i++){ 
       if(slot[i]==null){ 
        slot[i] = it; 
        return; 
       } 
      } 
     } 
     public function getObject(i:int):itemC{ 
      return slot[i]; 
     } 

     public function useObject(i:int){ 
      slot[i] = null; 
     } 
    } 

} 

這裏是我的itemC類:

package inventory{ 
    import flash.display.MovieClip; 

    public class itemC extends MovieClip{ 

     public var itemName:String; 
     public var itemIcon:MovieClip; 

    } 

} 
+0

多虧了切赫,代碼現在完美的作品和我的圖標出現在我的庫存。我的新問題是,當我在item圖標上移動mouse_move時,我想顯示對象的名稱,就像我用對象本身(showItemNameF)做的那樣。 – AnilDemir

回答

0

可變IS聲明,但未初始化。嘗試改變:

var IS:inventorySystem; 

到:

var IS:inventorySystem = new inventorySystem();