2011-09-12 6 views
0

これは難しいことは知っていますが、なぜそれが発砲しないのか分かりません。as3ロード時にボタンモードを無効にする

「ホーム」のコンテンツがデフォルトで読み込まれるため、ロード時に無効にする「ホーム」ボタンがあります。

HERESに私のコード:

import flash.events.Event; 

// BUTTON FUNCTIONS FOR SP. 
// by SOMDOW 

/////////////// VARS /////////////// 

var loader:Loader = new Loader(); 
var defUrlReq = new URLRequest("indexCoontentLoad.swf"); 
var urlRequest:URLRequest = new URLRequest(); 
var myLoadedSwf:MovieClip = null; 
var swfStage:Stage = this.stage; 

/////////////// INITIATE LOADERS /////////////// 

loader.load(defUrlReq); 

/////////////// START MAIN HANDLER FUNCTION /////////////// 



/////IMPORT DEFAULT SWF ///// 
loader.contentLoaderInfo.addEventListener(Event.INIT, loadedHandler); 
function loadedHandler(event:Event){ 

    myLoadedSwf = event.target.content; 
    addChild(myLoadedSwf); 

    trace(myLoadedSwf); 

    myLoadedSwf.gotoAndPlay("intro"); 

} 
//----- END IMPORT DEF SWF ----- 



///// HOME BUTTON TURNED OFF ON LOAD ///// 


indexCoontentLoad.addEventListener(Event.INIT, offOnLoad); 
function offOnLoad(e:Event):void{ 
    if(myLoadedSwf.currentFrameLabel == "outro"){ 
     indexCoontentLoad.mouseEnabled = false; 
     trace("lopan"); 
     indexCoontentLoad.removeEventListener(Event.ENTER_FRAME, offOnLoad); 

    } 
} 

//----- END IMPORT. ----- 





///// START LISTENERS AND THEIR FUNCTIONS ///// 

load1.addEventListener(MouseEvent.CLICK,btn4Loaded); 
load2.addEventListener(MouseEvent.CLICK,btn4Loaded); 
load3.addEventListener(MouseEvent.CLICK,btn4Loaded); 
indexCoontentLoad.addEventListener(MouseEvent.CLICK,btn4Loaded); 

//----- END LISTENERS ----- 



///// test ///// 


//indexCoontentLoad.addEventListener(Event.ENTER_FRAME,offOnLoad); 

/*function btn4Loaded(e:Event):void { //-- START btn4Loaded 
     if (myLoadedSwf.currentLabel == "outro") { 
      myLoadedSwf.gotoAndPlay("outro"); 

      trace("STEP 2 -- swf outro playing"); 
     } 
*/ 


//----- test end 



///// START BTN FUNCTIONS ///// 

function btn4Loaded(e:Event):void { 
     if (e.target == load1 || e.target == load2 || e.target == load3 || e.target == indexCoontentLoad) { 
      myLoadedSwf.gotoAndPlay("outro"); 

      removeChild(myLoadedSwf); 

      urlRequest = new URLRequest(e.target.name+".swf"); 
      loader.load(urlRequest); 
      addChild(myLoadedSwf); 
     } 
     if(e.target == load1){ 
      load1.mouseEnabled = false; 
      load2.mouseEnabled = true; 
      load3.mouseEnabled = true; 
      indexCoontentLoad.mouseEnabled = true; 

     } 
     if(e.target == load2){ 
      load2.mouseEnabled = false; 
      load3.mouseEnabled = true; 
      load1.mouseEnabled = true; 
      indexCoontentLoad.mouseEnabled = true; 

     } 
     if(e.target == load3){ 
      load3.mouseEnabled = false; 
      load2.mouseEnabled = true; 
      load1.mouseEnabled = true; 
      indexCoontentLoad.mouseEnabled = true; 
     } 
     if(e.target == indexCoontentLoad){ 
      load3.mouseEnabled = true; 
      load2.mouseEnabled = true; 
      load1.mouseEnabled = true; 
      indexCoontentLoad.mouseEnabled = false; 
     } 

} 

//----- END BTN FUNCTIONS 

これ以上のdoesntは何でもします。 「indexCoontentLoad」はボタンです。

私はまた、のようなものを試してみました:

function indexCoontentLoad(e:Event = null){ 
//code here 
} 

その後、()indexCoontentLoadを経由して、後でそれを呼び出します。

でも、何も表示されません。

ご了承ください。前もって感謝します。

答えて

0

まず、INITイベントを追加して、ENTER_FRAMEイベントを削除します。それには論理はありません。たぶんあなたが私たちを提供していないコードがあります。

ローダーを使用してロードを管理し、COMPLETEイベントを待機します。その後、私はボタンを使用してアクティブにします。

はローダー:そこ http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6

private function loadContent() : void 
{ 
    // add listeners and load external SWF 
} 

private function onLoadContentComplete(event : Event) : void 
{ 
    // remove listeners 

    // setup/activate button here 
} 
+0

こんにちはマティアス、私は全体の機能ブロックはCOMPLETEイベントのために設定されていることを持っていた、私はそれを台無しええ、お時間をありがとうございました、私はここに来たB4何かをしようとしていました。私が持っていたものにコードを戻すのを忘れてしまった。しかし、はい私は私の完全なコードを反映するために私のポストを更新しました。私は大いにコメントしているので、 "HOMEボタンがオンロードになっている"部分にインプリメントしようとしているコードブロックが見つかります。私は負荷をオフにしようとしている – somdow

+0

それを解決し、私のコードを更新しました。私の問題は、それに応じてボタンをクリックするとOKになりますが、いずれかのボタンをクリックすると速すぎると、他の外部swfのontopが読み込まれます。私が何を意味するかを見てください。http://www.somdowprod.net/4testing/flash/tst – somdow

関連する問題