0
package com.fladev.background
{
//import all classes
import caurina.transitions.Tweener;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.DisplayObject;
import flash.display.StageAlign;
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.FullScreenEvent;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class MainClass extends Sprite
{
//create variables
private var loaderMenu:Loader;
private var loaderNames:Array = new Array();
private var loaderContents:Array = new Array();
private var loaderSlide:Loader;
private var swfDisplayObject:DisplayObject;
private var swfComObject:Object;
private var xmlLoader:URLLoader = new URLLoader();
private var xmlSlideLoader:URLLoader = new URLLoader();
public function MainClass()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, stageResize);
xmlLoader.addEventListener(Event.COMPLETE, showXML);
xmlLoader.load(new URLRequest("navigation.xml"));
//xmlSlideLoader.addEventListener(Event.COMPLETE, showSlideXML);
//xmlSlideLoader.load(new URLRequest("slides.xml"));
}
function showXML(e:Event):void
{
XML.ignoreWhitespace = true;
var menuBtns:XML = new XML(e.target.data);
var i:Number = 0;
for (i = 0; i < menuBtns.navItem.length(); i++)
{
loaderMenu = new Loader();
loaderMenu.name = menuBtns.navItem[i].name ;
loaderMenu.load(new URLRequest(menuBtns.navItem[i].swfURL));
loaderMenu.contentLoaderInfo.addEventListener(Event.COMPLETE, createSwfObjects);
}
}
private function createSwfObjects(event:Event):void
{
var swfContent = event.currentTarget.content as MovieClip ;
var swfName = event.currentTarget.loader ;
navigationContainer.addChild(event.target.loader);
showImage(swfContent);
if (swfName.name == 'topNavigation')
{
swfContent.addEventListener("clickHandle",topNavigationClickHandler);
}
}
private function topNavigationClickHandler():void
{
trace('Back to root');
}
private function showImage(navigationItem):void
{
try
{
navigationItem.alpha = 0;
Tweener.addTween(navigationItem, { alpha:1, time:1, transition:"easeOutSine" });
navigationItem.smoothing = true;
} catch (e:Error) { trace('Error no tweening'); };
stageResize();
}
private function stageResize(e:Event=null):void
{
var centerImages:Array = new Array (contentContainer, navigationContainer, backgroundImage) ;
backgroundImage.x = 0;
backgroundImage.y = 0;
backgroundImage.scaleX = backgroundImage.scaleY = 1;
if ((stage.stageHeight/stage.stageWidth) < backgroundImage.height/backgroundImage.width) {
backgroundImage.width = stage.stageWidth;
backgroundImage.scaleY = backgroundImage.scaleX;
} else {
backgroundImage.height = stage.stageHeight;
backgroundImage.scaleX = backgroundImage.scaleY;
}
for each (var centered:MovieClip in centerImages)
{
centered.x = stage.stageWidth/2 - centered.width/2;
centered.y = stage.stageHeight/2 - centered.height/2;
}
}
}
}
這是我對main.as.調度事件不會觸發:(
在這裏,我的代碼爲我的maintimeline加載的SWF代碼。
addEventListener(Event.ADDED_TO_STAGE, init);
function init(event:Event):void
{
trace('try dispatch');
dispatchEvent(new Event("clickHandle",true));
}
嘗試調度工作,但是它沒有得到回主火起來「回到根本」。 任何想法?
THX!
Thx for you reply。我只是給你的第一個代碼部分添加了一個跟蹤,但它的工作正常。它被追蹤「添加監聽器」,但「clickHandle」仍然沒有啓動。我也試着添加事件的mouse.CLICK調用函數:\t \t '私有函數testClick(事件:MouseEvent)方法 \t \t { \t \t \t跟蹤( '點擊註冊'); \t \t \t event.currentTarget.init(null); \t \t \t event.currentTarget.addEventListener(「clickHandle」,topNavigationClickHandler); \t} 但是,這是工作的前2行,跟蹤和初始化函數我加載的瑞士法郎,但不是「clickHandle」再次... – 1stIssue 2011-05-19 10:56:59
在你粘貼上面的代碼,你打電話給init方法將偵聽器添加到對象之前。這會在您準備好接收它之前使事件發送。另外,你是否將這個加載的swf添加到舞臺上?如果不是,並且您只是想按照以下所示進行測試,請嘗試將事件冒泡關閉,以防萬一通過嘗試將顯示列表傳遞給直接監聽器。如果未添加對象,則它沒有父對象,因此與顯示列表斷開連接並冒泡將失敗。 – 2011-05-19 11:02:57
哦,男人,解決了錯誤。因爲詢問另一個人,他告訴我試試這個:stage.dispatchEvent(new Event(「clickHandle」,true));在我加載的SWF中。現在我嘗試了你的遺漏(事件:事件)並刪除了舞臺,所以它說:dispatchEvent(new Event(「clickHandle」,true));現在它似乎工作:)所以,據我可以想象,它導致了錯誤,因爲缺少的事件:事件! :) 非常感謝 ! :) – 1stIssue 2011-05-19 12:08:48