2013-01-05 75 views
1

所以它是基本的..我需要這個位圖將紅色正方形圖像保存到一個數組中...但它顯示我正在訪問未識別的方法或屬性......這是更多或更少,我第一次與陣列的,我看到了一堆使用它們的內容和什麼,我認爲這是他們如何指派給他們的東西..所以請如果我做錯了什麼可以有人告訴我。 。我我只是想學試圖出來,他們是如何工作的?位圖不保存到一個數組

var myImages:Array; 

red_square.addEventListener(MouseEvent.CLICK, firstchoice); 
function firstchoice (e:MouseEvent){ 
    finalsave.redsquare = 1; 
    myImages[0] = new BitmapData(151, 167); 
    bitmap = new Bitmap (myImages[0]); 
    addChild(bitmap); 
    myImages[0].draw (red_square); 
    gotoAndPlay(5); 
    stop(); 
}; 

錯誤我得到的是

類型錯誤:錯誤#1009:無法訪問NUL的屬性或方法l對象引用。 at gamefile_fla :: MainTimeline/firstchoice()[gamefile_fla.MainTimeline :: frame4:13]

回答

1

您的數組從空開始,所以當您嘗試訪問位置零時,它會感到困惑。如果不使用這行代碼:
myImages[0] = new BitmapData(151, 167);
使用
myImages.push(new BitmapData(151, 167));

推命令將一個元素添加到數組的末尾,這樣的規模將增加1.現在你可以安全使用myImages[0].draw(red_square);

另外,當聲明數組變量var myImages:Array時,最好在構造函數或某種方法中初始化它,因此請將其更改爲var myImages:Array = new Array();

+0

哦,我看到..所以這就是爲什麼我得到它謝謝你! – tailedmouse

+0

沒問題,更新後出現其他錯誤嗎? –

+0

唉它仍然沒有解決它.. :( – tailedmouse

0

實際上,您在訪問數組之前沒有實例化數組。 試試這個:

var myImages:Array= new Array(); 
相關問題