-1

imgLoaderこの Flash AS3 アプリケーションで作業していますが、クリック可能にしようとするとこのエラーが発生し続けます。

imgLoader は、XML ファイルから画像をロードし、ActionScript を使用して作成された画像をロードするダイナミック ローダーです。

これは私が得る完全なエラーです:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at apptest_fla::MainTimeline/frame1()[apptest_fla.MainTimeline::frame1:65]
    at runtime::ContentPlayer/loadInitialContent()
    at runtime::ContentPlayer/playRawContent()
    at runtime::ContentPlayer/playContent()
    at runtime::AppRunner/run()
    at ADLAppEntry/run()
    at global/runtime::ADLEntry()

これはimgLoaderクリック可能にするためのコードです:

imgLoader.addEventListener(MouseEvent.CLICK, doSomething);
function doSomething(event:MouseEvent){
nextFrame()

なぜこれが起こっているのか誰にも分かりますか?

編集

これは私のコード全体です:

stop();

import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.display.Sprite; 
import flash.filters.DropShadowFilter; 

var xmlLoader11:URLLoader;
var xml11:XML;

var uRequest11 = new URLRequest("my.xml");
xmlLoader11 = new URLLoader(uRequest11);
xmlLoader11.addEventListener(Event.COMPLETE, onXMLLoad11);
var imgLoader11:Loader;
var nameLoader11:Loader;
var myString11:String = 'loading';

function onXMLLoad11(e:Event) {
    xml11 = new XML(e.target.data);
    imgLoader11 = new Loader();
    imgLoader11.contentLoaderInfo.addEventListener(Event.COMPLETE, onImgLoaded11);
    imgLoader11.load(new URLRequest(xml11.Data.Image.text()[0]));
    Nametxt11.text =  "" + xml11.Data.Name.text()[0];
}

function onImgLoaded11(e:Event) {
    addChild(imgLoader11);
    imgLoader11.height = 300;
    imgLoader11.width = 300;

    var bitmapContent11:Bitmap = Bitmap( e.target.content );
    bitmapContent11.smoothing = true;
    addChild( bitmapContent11 );
    bitmapContent11.height = 150;
    bitmapContent11.width = 150;
    bitmapContent11.y = 65;
    bitmapContent11.x = 85;
}
imgLoader11.addEventListener(MouseEvent.CLICK, doSomething);
function doSomething(event:MouseEvent){
nextFrame()
4

1 に答える 1

0

これが呼び出されると壊れますか:

imgLoader.addEventListener(MouseEvent.CLICK, doSomething);

またはこれが呼び出されたとき:

nextFrame()

最初のケースでは、imgLoader は null です。2 番目のケースでは、nextFrame() が呼び出された直後にフィールドまたはメソッドにアクセスしようとしているものが null です。

編集:

これを動かしてみてください:

imgLoader11.addEventListener(MouseEvent.CLICK, doSomething);
function doSomething(event:MouseEvent){
nextFrame()
}

onXMLLoad11() の一番下まで。

function onXMLLoad11(e:Event) {
    xml11 = new XML(e.target.data);
    imgLoader11 = new Loader();
    imgLoader11.contentLoaderInfo.addEventListener(Event.COMPLETE, onImgLoaded11);
    imgLoader11.load(new URLRequest(xml11.Data.Image.text()[0]));
    Nametxt11.text =  "" + xml11.Data.Name.text()[0];

    imgLoader11.addEventListener(MouseEvent.CLICK, doSomething);
    function doSomething(event:MouseEvent){
    nextFrame()
    }
}
于 2013-03-28T13:19:19.613 に答える