Ошибка # 1009 Не удается получить доступ к свойству или методу пустой ссылки на объект - PullRequest
0 голосов
/ 05 апреля 2010

Я пытаюсь импортировать внешний SWF с полосой прокрутки, вызывая внешний .AS, в свой основной SWF. Кто-то сказал мне, что проблема в том, что моя полоса прокрутки еще не создана, но остановилась на том, чтобы помочь мне решить проблему.

Вот ошибка ниже:

TypeError: Ошибка # 1009: невозможно получить доступ к свойству или методу с нулевым значением ссылка на объект. на полосе прокрутки / init () в Sample2_fla :: MainTimeline / scInit () в flash.display :: DisplayObjectContainer / addChild () в Sample2_fla :: MainTimeline / frame1 ()

На моем основном SWF-файле я должен был нажать кнопку и загрузить свой внешний SWF-файл. Я хочу затем нажать другую кнопку во внешнем SWF-файле и показать мою полосу прокрутки (альфа = 1;). Полоса прокрутки является проблемой.

Вот мой сценарий:

Sample1.swf (основной)

this.addEventListener(MouseEvent.CLICK, clickListener);

var oldSection=null;
function clickListener(evt:Event) {
    if (evt.target.name=="button_btn") {
        loadSection("Sample2.swf");
    }
}

function loadSection(filePath:String) {
    var url:URLRequest=new URLRequest(filePath);

    var ldr:Loader = new Loader();
    ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, sectionLoadedListener);
    ldr.load(url);
}

function sectionLoadedListener(evt:Event) {
    var section=evt.target.content;

    if (oldSection) {
        removeChild(oldSection);
    }

    oldSection=section;
    addChild(section);
    section.x=0;
    section.y=0;

}

Sample2.SWF (внешний):

import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.plugins.*;


scroll_mc.alpha=0;

import Scrollbar;

var sc:Scrollbar=new Scrollbar(scroll_mc.text,scroll_mc.maskmc,scroll_mc.scrollbar.ruler,scroll_mc.scrollbar.background,scroll_mc.area,true,6);
sc.addEventListener(Event.ADDED, scInit);
addChild(sc);

function scInit(e:Event):void {
    sc.init();
}

button2_btn.addEventListener(MouseEvent.CLICK, clickListener);
function clickListener(evt:MouseEvent){
    TweenMax.to(this.scroll_mc, 1,{alpha:1});
    }

Я очень ценю вашу помощь.

Ура!

1 Ответ

0 голосов
/ 10 апреля 2010

Вы используете var sc: Scrollbar. Я думаю, вы хотите, чтобы это было свойством класса. scInit не имеет доступа к sc и имеет нулевое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...