Adobe Flash错误#1009
问题描述:
首先,我明白这个特定的错误/问题已被多次询问,但我无法找到有用的答案,我的具体代码。Adobe 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。
谢谢!
答
错误消息告诉,在nextPics方法中,您尝试访问方法或属性上的东西不存在。
检查使用前是否存在getChildByName("thumbnail" + i)
或picNames
。
trace(getChildByName("thumbnail" + i));
或trace(picNames);
回报你什么?
当使用null设置UILoader的源代码时,会抛出一些错误吗? – Pan