2013-01-05 39 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(); 
相关问题