Форум 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=128731)

ilor 15.08.2009 23:09

Больная тема - прелоадер
 
Помогите пожалуйста разобраться с прелоадером, никак понять не могу как его поставить у себя.
Есть два слоя - preloader, имеющий 1 кадр и content, имеющий 2 кадра.
Есть класс Main.
Код AS3:

public function Main(){
                        stop();
 
                        var imageBar:imgBar = new imgBar();
                                imageBar.x = (stage.stageWidth - imageBar.width) / 2 - imageBar.width / 4;
                                imageBar.y = imageLogo.y + imageLogo.height / 2 + 5;
                        var leftLayer:MovieClip = new MovieClip();
                                leftLayer.graphics.beginFill(0xffffff);
                                leftLayer.graphics.drawRect(imageBar.x, imageBar.y,
                                                                                        imageBar.width / 2, imageBar.height);
                        var rightLayer:MovieClip = new MovieClip();
                                rightLayer.graphics.beginFill(0xffffff);
                                rightLayer.graphics.drawRect(imageBar.x + imageBar.width,
                                                                                        imageBar.y, imageBar.width / 2, imageBar.height);
                        addChild(imageBar);                       
                        addChild(leftLayer);
                        addChild(rightLayer);
 
                        loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
                        loaderInfo.addEventListener(Event.COMPLETE, completeHandler);       
 
                        function progressHandler(event:ProgressEvent):void {
                                var loaded:uint = event.bytesLoaded;
                                var total:uint = event.bytesTotal;
                                var percentLoaded:Number = Math.round((loaded/total) * 100);
                                imageBar.x = (stage.stageWidth - imageBar.width) / 2 - imageBar.width / 4;
                                imageBar.x += (imageBar.width / 2) * (percentLoaded / 100);                               
                        }
                        function completeHandler(event:Event):void {
                                removeChild(imageBar);
                                removeChild(leftLayer);
                                removeChild(rightLayer);
                                gotoAndStop(2);
                                Start();
                        }
}

Все картинки в библиотеке загружаются на 2 кадр(Publish Setting/Flash/Settings/Export classes in frame = 2)
Но так не получается. Ошибки:
Код:

1180: Call to a possibly undefined method stop.
1180: Call to a possibly undefined method gotoAndStop.

Добавлено через 48 минут
Заработало, нужно было всего лишь поставить MovieClip(root)

MonkDead 16.08.2009 02:20

Вы метод stop() и gotoAndStop() вызываете у главного класса, а он не наследуется от MovieClip, значит в нем нет таких методов, о чем вам и сказал компилятор.


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

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