2010-04-05 91 views
0

我試圖導入一個帶滾動條的外部SWF,調用外部.AS到我的主SWF中。有人告訴我,這是一個問題,我的滾動條還沒有實例化,但沒有幫助我如何解決這個問題。錯誤#1009無法訪問空對象引用的屬性或方法

以下是錯誤: TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 在滾動條/的init() 在Sample2_fla :: MainTimeline/scInit() 在flash.display使用::級DisplayObjectContainer /的addChild() 在Sample2_fla :: MainTimeline /幀1()

在我的主SWF,我是點擊一個按鈕並加載我的外部SWF。我想再點擊外部SWF中的另一個按鈕並顯示我的滾動條(alpha = 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}); 
    } 

我真的很感謝你的幫助。

乾杯!

回答

0

您正在使用var sc:Scrollbar。我想你希望這是該班的一個財產。 scInit無權訪問sc並且它爲空。

相關問題