2016-12-06 7 views
0

まず、この特定のエラー/質問が複数回尋ねられていることを理解していますが、私の特定のコードに対して有益な回答が見つかりません。Adob​​e Flashエラー#1009

私はエラー「TypeError例外を取得しています私は、Adobe Flash ProfessionalのCC 2015を使用していると私は、ActionScript 3

を使用して簡単なフォトギャラリーを作ってるんだ:エラー#1009:nullののプロパティまたはメソッドにアクセスすることはできません。次のようにオブジェクト参照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インスタンスを有します。

これは信じられないほど曖昧であると私はお詫び申し上げます。

ありがとうございました!

+0

UILoaderのソースをnullに設定すると、エラーが発生しますか? – Pan

答えて

0

エラーメッセージは、nextPicsメソッドで、何かのメソッドまたはプロパティにアクセスしようとすると、存在しないことを通知します。

使用するには、getChildByName("thumbnail" + i)またはpicNamesが存在するかどうかを確認してください。

trace(getChildByName("thumbnail" + i));またはtrace(picNames);あなたに何かを返しますか?

関連する問題