Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.11.2009, 23:28
Spider10k вне форума Посмотреть профиль Отправить личное сообщение для Spider10k Найти все сообщения от Spider10k
  № 1  
Ответить с цитированием
Spider10k

Регистрация: Oct 2009
Сообщений: 29
По умолчанию Проблемы с прелоадером.

Здравствуйте.
Проблему опишу подробно, т.к. являюсь новичком в as и не очень понимаю, что важно в моей ситуации, а что нет....
Использую adobe flash cs4. Основной класс моего проекта - Main. В проекте имеется файл Main.fla, у которого основным классом указан Main (из этого fla я так понимаю экспортится swf). Возникла необходимость сделать прелоадер. По информации найденной здесь использовал [Frame]:

Основной класс:
Код AS3:
[Frame (factoryClass="Preloader")]
public class Main extends Sprite
{
    .....
}
Класс прелоадера:

Код AS3:
public class Preloader extends MovieClip
    {
        public function Preloader()
        {
            stop();
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
        }
 
        public function onEnterFrame(event:Event):void
        {
            graphics.clear();
            if(framesLoaded == totalFrames)
            {
                removeEventListener(Event.ENTER_FRAME, onEnterFrame);
                nextFrame();
                init();
            }
            else
            {
                var percent:Number = root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
                graphics.beginFill(0);
                graphics.drawRect(0, stage.stageHeight / 2 - 10,
                                  stage.stageWidth * percent, 20);
                graphics.endFill();
            }
        }
 
        private function init():void
        {
            var mainClass:Class = Class(getDefinitionByName("Main"));
            if(mainClass)
            {
                var app:Object = new mainClass();
                addChild(app as DisplayObject);
            }
        }
    }
Вобщем, результата никакого нет, класс прелоадера вообще не создается (вариант, что я не замечаю прелоадер просто из-за быстрой загрузки отпадает, ибо trace в конструкторе прелоадера ставил, который не вызывался). Попробовал поставить fla файлу основной класс Preloader - тогда выдается такая ошибка:
ReferenceError: Error #1065: Переменная Main не определена.
at global/flash.utils::getDefinitionByName()
at Preloader/init()
at Preloader/onEnterFrame()


Вобщем, подскажите пожалуйста где я натупил. Поотому что меня не оставляет уверенность, что я в корне что-то не так сделал.

Старый 28.11.2009, 00:18
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 2  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
компилируете в дебаг режиме и у вас подключены как swc так и присутствуют [Embed] тэги? ну или одно из двух )
если так - то черт его знает почему - сам до сих пор не могу разобраться.
__________________
Блог, Twitter
Брюзга.

Старый 28.11.2009, 02:26
Spider10k вне форума Посмотреть профиль Отправить личное сообщение для Spider10k Найти все сообщения от Spider10k
  № 3  
Ответить с цитированием
Spider10k

Регистрация: Oct 2009
Сообщений: 29
Компилирую через Control -> Test movie. [Embed] есть, но не в основном классе Main

Старый 28.11.2009, 12:01
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 4  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
вся проблема в эмбеде - попробуй убрать его.
__________________
Блог, Twitter
Брюзга.

Старый 28.11.2009, 13:27
Spider10k вне форума Посмотреть профиль Отправить личное сообщение для Spider10k Найти все сообщения от Spider10k
  № 5  
Ответить с цитированием
Spider10k

Регистрация: Oct 2009
Сообщений: 29
Embed убрать не есть приемлимый выход из данной ситуации. Да и в примерах в инете как раз с помощью эмбеда вставляют большие рисунки в основной класс для проверки прелоадера.....

Старый 28.11.2009, 14:03
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 6  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
swc библиотеки используются?
__________________
Блог, Twitter
Брюзга.

Старый 28.11.2009, 14:16
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
[Frame] в CS4 не работает, это фича mxmlc. Размещайте пустой мувик с назначенным на него классом Main в третьем кадре в координатах 0, 0 (убив создание Main из прелоадера), либо просто положите этот мувик в библиотеку и экспортом во второй кадр.

Старый 28.11.2009, 22:25
Spider10k вне форума Посмотреть профиль Отправить личное сообщение для Spider10k Найти все сообщения от Spider10k
  № 8  
Ответить с цитированием
Spider10k

Регистрация: Oct 2009
Сообщений: 29
Спасибо за помощь. С горем пополам разобрался
Особое спасибо mayakwd за его материал http://pastila.org/flash/vstroennyj-preloader-as3/


Последний раз редактировалось Spider10k; 28.11.2009 в 22:29.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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