Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   еще раз про прелоадер(сори) (http://www.flasher.ru/forum/showthread.php?t=132686)

daniral 23.11.2009 00:27

Спасибо.
Поменял.

Теперь другая проблема :(
Картинка прелоадера не появляется в середине флэш.
Она упрямо остается в верхнем левом углу и крутится там засранка.
Как ее в середину переташить?

SamFR 23.11.2009 00:42

Код AS3:

img.x = (stage.stageWidth - img.width)/2;
img.y = (stage.stageHeight - img.height)/2;


daniral 23.11.2009 00:51

Ну я как бы так и делаю.
Код AS1/AS2:

package 
{
        import flash.display.Bitmap;
        import flash.display.Loader;
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.ProgressEvent;
        import flash.net.URLRequest;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
 
        public class Main extends Sprite
        {
                [Embed(source = '../bin/loaderW.png')]
                private var loaderClass:Class;
                private var loaderBitmap:Bitmap;
                private var sprLoading:Sprite = new Sprite();
                private var imageArr:Array = new Array();
                private var iterator:int = 0;
                private var decr:Number = 0.015;
                private var imgLoader:Loader;
                private var first:Boolean = true;
                public function Main():void
                {
                        stage.scaleMode = StageScaleMode.NO_SCALE;
                        stage.align = StageAlign.TOP_LEFT;
                        loaderBitmap = new loaderClass();
                        loaderBitmap.x = loaderBitmap.width / 2 * -1;
                        loaderBitmap.y = loaderBitmap.height / 2 * -1;
                        sprLoading.addChild(loaderBitmap);
                        sprLoading.x = stage.stageWidth / 2;
                        sprLoading.y = stage.stageHeight / 2;
                        addChild(sprLoading);
                        for each (var d:* in root.loaderInfo.parameters)
                        {
                                imgLoader = new Loader();
                                imgLoader.load(new URLRequest(d));
                                if (first)
                                {
                                        first = false;
                                        imgLoader.contentLoaderInfo.addEventListener(Event.OPEN, prog);
                                }
                                imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, comp);
                        }
                }
                private function prog(e:Event):void
                {
                        addEventListener(Event.ENTER_FRAME, rott);
                }
                private function rott(e:Event):void
                {
                        sprLoading.rotation += 15;
                }
                private function comp(e:Event):void
                {
                        e.target.content.width = stage.stageWidth;
                        e.target.content.height = stage.stageHeight;
                        imageArr.push(e.target.content);
                        addChild(e.target.content);
                        if(stage.contains(sprLoading))
                                removeChild(sprLoading);
                        removeEventListener(Event.ENTER_FRAME, rott);
                        if (imageArr.length > 1)
                        {
                                e.target.content.alpha = 0;
                                if (!stage.hasEventListener(Event.ENTER_FRAME))
                                        addEventListener(Event.ENTER_FRAME, enterFR);
                        }
                }
                private function enterFR(e:Event):void
                {
                        imageArr[iterator].alpha += decr;
                        if (imageArr[iterator].alpha >= 1)
                        {
                                imageArr[iterator].alpha = 1;
                                if (iterator>0)
                                        imageArr[iterator - 1].alpha = 0;
                                if (iterator==0)
                                        imageArr[imageArr.length-1].alpha = 0;
                                setChildIndex(imageArr[iterator], 0);
                                iterator++;
                                if (iterator >= imageArr.length)
                                        iterator = 0;
                        }
                }
        }
}

Запускаю через WebSpeed Simulator.
Со скоростью 256 кб.
Не хочет гад стремиться к середине.


Часовой пояс GMT +4, время: 20:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.