2016-12-06 262 views
0

首先,我明白这个特定的错误/问题已被多次询问,但我无法找到有用的答案,我的具体代码。Adob​​e Flash错误#1009

我使用Adobe Flash Professional中CC 2015年,我正在做使用ActionScript 3

我收到错误“类型错误一个简单的相册:错误#1009:无法访问空的属性或方法。对象引用在photo_Gallery/nextPics()”

我的类代码如下:

package 
     { 
    import flash.display.MovieClip; 
    import fl.containers.UILoader; 
    import flash.events.MouseEvent; 
    public class photoGallery extends MovieClip 
    { 

     private var mainPicture:UILoader = new UILoader(); 

     private var spacing:int = 20; 
     private var thumbSize:int = 80; 
     private var mainPictureSize:int = 400; 
     private var numberOfThumbnails:int = 8; 

     private var picNames:Array = new Array(); 

     private var Down_Button:Down = new Down(); 
     private var Up_Button:Up = new Up(); 
     private var firstPicture:int = 0; 

     public function photoGallery() 
     { 
      // constructor code 
      initialize(); 
     } 
     private function initialize():void 
     { 
      addChild(Down_Button); 
      Down_Button.x = 550; 
      Down_Button.y = 90; 
      Down_Button.addEventListener(MouseEvent.CLICK, nextPics); 
      addChild(Up_Button); 
      Up_Button.x = 650; 
      Up_Button.y = 200; 
      Up_Button.addEventListener(MouseEvent.CLICK, prevPics); 
      picNames.push("image2.jpeg"); 
      picNames.push("image6.jpeg"); 
      picNames.push("image3.jpeg"); 
      picNames.push("image1.jpeg"); 
      picNames.push("image4.jpeg"); 
      picNames.push("image6.jpeg"); 
      picNames.push("image6.jpeg"); 
      picNames.push("image3.jpeg"); 
      picNames.push("image1.jpeg"); 
      addChild(mainPicture); 
      mainPicture.source = picNames[0]; 
      mainPicture.width = mainPictureSize; 
      mainPicture.height = mainPictureSize; 
      mainPicture.x = 0; 
      mainPicture.y = 0; 
      for (var i:int = 0; i < numberOfThumbnails; i++) 
      { 
       //Make a thumbnail 
       var thumbnail:UILoader = new UILoader(); 
       addChild(thumbnail); 
       thumbnail.width = thumbSize; 
       thumbnail.height = thumbSize; 
       thumbnail.x = mainPicture.width + spacing; 
       thumbnail.y = i * (thumbSize + spacing); 
       thumbnail.source = picNames[i + firstPicture]; 
       thumbnail.addEventListener(MouseEvent.CLICK, loadPic); 
       thumbnail.name = "thumbnail" + i; 
      } 

     } 
     private function loadPic(evt:MouseEvent):void 
     { 
      mainPicture.source = evt.currentTarget.source; 
     } 
     private function nextPics(evt:MouseEvent):void 
      { 
      firstPicture += numberOfThumbnails; 
      for (var i:int = 0; i < numberOfThumbnails; i++) 
      { 
       trace(getChildByName("thumbnail" + i)); 
       var currentThumbnail:Object = getChildByName("thumbnail" + i); 
       currentThumbnail.source = picNames[i + firstPicture]; 
      } 
      } 

    } 

} 

在舞台上的所有符号具有Up_Button和Down_Button实例。

我很抱歉,如果这是非常模糊的,我是新来的,不是很熟悉Flash。

谢谢!

+0

当使用null设置UILoader的源代码时,会抛出一些错误吗? – Pan

回答

0

错误消息告诉,在nextPics方法中,您尝试访问方法或属性上的东西不存在。

检查使用前是否存在getChildByName("thumbnail" + i)picNames

trace(getChildByName("thumbnail" + i));trace(picNames);回报你什么?