Я пытаюсь импортировать внешний 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});
}
Я очень ценю вашу помощь.
Ура!