Aldegran
13.01.2009, 15:56
Здравствуйте. Проблема в следующем. Есть swf страничка, когда на неё просто заходишь то прелоадер показывается у когда заходишь по swf ссылке то нет. В чём проблема, и как её решить?
Вот пример.
прямая ссылка http://awwsoft.com/new/
Ссылка для swfaddress http://awwsoft.com/new/#/menu_showcase_block
(всю страницу можете не загружать она 10мб специально сделана чтоб оттестировать прелоадер, наличие или отсутствие прелоадера будет сразу заметно)
вставка прелоадера как обычно
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#FFFFFF"
backgroundAlpha="0"
width="100%"
verticalAlign="top"
horizontalAlign="left"
creationComplete="init()"
preloader="Preloader"
paddingBottom="0"
paddingLeft="0"
paddingRight="0"
paddingTop="80"
applicationComplete="initSWFAddress()"
currentStateChange="setSWFAddress()">
сам прелоадер
package
{
import mx.preloaders.DownloadProgressBar;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.ProgressEvent;
import flash.events.Event;
import mx.events.FlexEvent;
public class Preloader extends DownloadProgressBar
{
[Embed(source="assets/flash/loader.swf")]
private var FlashPreloaderSymbol:Class;
private var clip:MovieClip;
public function Preloader()
{
super();
clip = new FlashPreloaderSymbol();
addChild(clip);
clip.gotoAndPlay(0);
}
public override function set preloader(preloader:Sprite):void
{
preloader.addEventListener( FlexEvent.INIT_COMPLETE , onFlexInitComplete );
centerPreloader();
}
private function centerPreloader():void
{
x=416;
y=210;
}
private function onFlexInitComplete( event:FlexEvent ):void
{
onDoneAnimating();
}
private function onDoneAnimating():void
{
clip.stop();
dispatchEvent( new Event( Event.COMPLETE ) );
}
}
}
Уважаемые гуру. Помогите пожалуйста начинаещему флексеру.:confused:
Вот пример.
прямая ссылка http://awwsoft.com/new/
Ссылка для swfaddress http://awwsoft.com/new/#/menu_showcase_block
(всю страницу можете не загружать она 10мб специально сделана чтоб оттестировать прелоадер, наличие или отсутствие прелоадера будет сразу заметно)
вставка прелоадера как обычно
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundColor="#FFFFFF"
backgroundAlpha="0"
width="100%"
verticalAlign="top"
horizontalAlign="left"
creationComplete="init()"
preloader="Preloader"
paddingBottom="0"
paddingLeft="0"
paddingRight="0"
paddingTop="80"
applicationComplete="initSWFAddress()"
currentStateChange="setSWFAddress()">
сам прелоадер
package
{
import mx.preloaders.DownloadProgressBar;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.ProgressEvent;
import flash.events.Event;
import mx.events.FlexEvent;
public class Preloader extends DownloadProgressBar
{
[Embed(source="assets/flash/loader.swf")]
private var FlashPreloaderSymbol:Class;
private var clip:MovieClip;
public function Preloader()
{
super();
clip = new FlashPreloaderSymbol();
addChild(clip);
clip.gotoAndPlay(0);
}
public override function set preloader(preloader:Sprite):void
{
preloader.addEventListener( FlexEvent.INIT_COMPLETE , onFlexInitComplete );
centerPreloader();
}
private function centerPreloader():void
{
x=416;
y=210;
}
private function onFlexInitComplete( event:FlexEvent ):void
{
onDoneAnimating();
}
private function onDoneAnimating():void
{
clip.stop();
dispatchEvent( new Event( Event.COMPLETE ) );
}
}
}
Уважаемые гуру. Помогите пожалуйста начинаещему флексеру.:confused: