20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
AS 3.0

Прелоадер при коде в классах

02.12.2013, 14:27. Показов 4081. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пжста, как все-таки сделать правильно прелоадер. Есть мейн класс проекта Otkritka. В нем я пытаюсь создать екземпляр класса Otkritka_Main по окончанию прелоадера. Но прелоадер не работает и у меня при имитации всеравно сначала идет загрузка всего ролика на 0 кадре . Вот текст мейн класса:

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package
{
    import com.greensock.*;
    import com.greensock.easing.*;
    
    import flash.display.DisplayObject;
    import flash.display.Loader;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
    import flash.events.ProgressEvent;
    
    public class Otkritka extends Sprite
    {
            
        public function Otkritka()
        {
            
        loaderInfo.addEventListener(Event.COMPLETE,onComplate);
        loaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress);
        }
 
        private function onComplate(e:Event):void {
            trace("Загрузка прошла");
            if (loaderInfo.bytesTotal==loaderInfo.bytesLoaded) {
                
                var dedM:Otkritka_Main=new Otkritka_Main();
                addChild(dedM);
            }
            
        }
        
        private function onProgress(e:ProgressEvent):void {
            trace(loaderInfo.bytesLoaded/loaderInfo.bytesTotal);
        }
    
    
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.12.2013, 14:27
Ответы с готовыми решениями:

Прелоадер при коде в кадрах
Столкнулся с проблемой. Вобщем в 1 кадре у меня скрипт прелоадера: import flash.display.Loader; import flash.events.ProgressEvent; ...

Определить какие из имён встречаются во всех классах, только в некоторых классах, не встречаются ни в одном
1. Заданный имена девочек . Определить , какие из этих имён встречаются во всех классах данной параллели , которые есть только в некоторых...

Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе
Для каждого из четырех классов указаны имена девочек, обучающихся в них. Определить, какие из этих имен встречаются во всех классах, какие...

42
Модератор
 Аватар для TanaTiX
2939 / 1800 / 180
Регистрация: 19.02.2011
Сообщений: 6,556
11.06.2014, 11:21
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Wells77 Посмотреть сообщение
я на билдере работаю
Что-то в вашем примере я билдера не наблюдаю.
ИДЕ использует другой компилятор, в нем метатеги не поддерживаются.
0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 11:26  [ТС]
Я не кидал всю структуру, но если нада - кину щас
0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 11:32  [ТС]
Вот проект на билдере
Вложения
Тип файла: rar Прелоадер.rar (432.5 Кб, 8 просмотров)
0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 13:15  [ТС]
Нашел цитату одного умного человека на форуме каком-то насчет прелоадера в флешбилдере: ействительно мета-тег Frame не работает. Как решение можно использовать ключ компилятора называемый frame.
Т.е. тебе нужно просто вписать в FB окно Project - Properties - ActionScript Compiler в поле Additional compiler arguments строчку -frame two Main, где Main имя класса, который будет создан после загрузки прелоадера. Подробно про ключ frame написано здесь и здесь. Класс Preloader и связанный с ним класс Main должны находится в корне проекта. Иначе выходит ошибка.

Добавлено через 3 минуты
Правда всеравно ошибка выскакивает:
ReferenceError: Error #1065: Переменная Main не определена.
at global/flash.utils::getDefinitionByName()
at Preloader/startup()
at Preloader/loadingFinished()
at Preloader/checkFrame()
Добавлено через 1 час 21 минуту
Чето я не пойму, почему дефинишн не видит класс Мейн??? Они с прелоадером в одной папке лежат!
1
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
11.06.2014, 13:19
Цитата Сообщение от Wells77 Посмотреть сообщение
Чето я не пойму, почему дефинишн не видит класс Мейн??? Они с прелоадером в одной папке лежат!
А Вы уверены, что Вы его правильно используете? Покажите эту часть кода.
0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 13:36  [ТС]
Склоняюсь все к тому, что этот метод прелоадера не работает с билдером, а только с Дивелопером. Вобщем вот 2 класса моих:

Preloader.as - он же основной класс проекта по умолчанию:
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package 
{
    import flash.display.*; 
    import flash.events.*;  
    import flash.text.TextField;
    import flash.utils.getDefinitionByName;
    
    [SWF(width=800,height=600,frameRate=30,backgroundColor=0xC254DE)]
    public class Preloader extends MovieClip 
    {
        private var _txt:TextField = new TextField();
        public function Preloader() 
        {
            if (stage) {
                stage.scaleMode = StageScaleMode.NO_SCALE;
                stage.align = StageAlign.TOP_LEFT;
                addChild(_txt);             
            }
            addEventListener(Event.ENTER_FRAME, checkFrame);
            loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);          
        }       
        
        private function progress(e:ProgressEvent):void 
        {                   
            _txt.text = loaderInfo.bytesLoaded.toString();
        }
        
        private function checkFrame(e:Event):void 
        {
            if (loaderInfo.bytesLoaded == loaderInfo.bytesTotal && currentFrame == totalFrames) 
            {               
                stop();
                loadingFinished();
            }
        }
        
        private function loadingFinished():void 
        {
            removeEventListener(Event.ENTER_FRAME, checkFrame);
            loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);           
            startup();
        }
        
        private function startup():void 
        {
            var mainClass:Class = getDefinitionByName("Main") as Class;
            stage.addChild(new mainClass() as DisplayObject);       
        }       
    }   
}
Main.as :
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
package
{
    import flash.display.MovieClip;
    
    public class Main extends MovieClip
    {
        public function Main()
        {
            var _dancer:Dancer=new Dancer();
            addChild(_dancer);
        }
    }
}
В билдере в настройках прописал ключик
-frame 1 Main
Вобщем вот еще сам проект на билдере:
Вложения
Тип файла: rar Прелоадер.rar (368.2 Кб, 5 просмотров)
0
11.06.2014, 13:48

Не по теме:

Цитата Сообщение от Wells77 Посмотреть сообщение
ействительно мета-тег Frame не работает. Как решение можно использовать ключ компилятора называемый frame
К сожалению не могу проверить, т.к. билдер сейчас не установлен.

0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 14:22  [ТС]
Вобщем что нарыл по этой проблеме: In case anyone reads this. It seems the problem was a compiler glitch in FB 4.5. Seems to be totally cleared up in 4.6...
Тоесть трабла скорее всего в самом компиляторе билдера именно версии 4.5. Попробую найти 4.6 проверить.
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
11.06.2014, 14:24
Цитата Сообщение от Wells77 Посмотреть сообщение
var mainClass:Class = getDefinitionByName("Main") as Class;
В Вашем случае Main нигде явно не указана в коде, поэтому компилятор не вкомпиливает ее код в проект. Для того, чтобы это обойти нужно где-нибудь явно указать это в проекте.
У себя в проекте я создаю экземпляр класса, в конструкторе которого создается массив:
ActionScript 3
1
2
3
4
5
6
7
8
9
public class LocRes
{
  public function LocRes()
  {
    var arr:Array = [
      Main
    ];
  }
}
после этого достаточно в любом месте проекта создать экземпляр данного класса
ActionScript 3
1
new LocRes();
Я делаю это первой строкой главного класса.
0
Модератор
 Аватар для TanaTiX
2939 / 1800 / 180
Регистрация: 19.02.2011
Сообщений: 6,556
11.06.2014, 14:31
Theoryofgames, а массив зачем? Достаточно просто
ActionScript 3
1
YouClass;
Ну и при таком подходе для Main-а теряется суть: он будет загружен в 1й кадр, а не во 2й, т.е. прелоадер будет работать не корректно.
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
11.06.2014, 15:22
Цитата Сообщение от TanaTiX Посмотреть сообщение
Theoryofgames, а массив зачем? Достаточно просто
да просто захотелось массив)
Цитата Сообщение от TanaTiX Посмотреть сообщение
Ну и при таком подходе для Main-а теряется суть: он будет загружен в 1й кадр, а не во 2й, т.е. прелоадер будет работать не корректно.
согласен, я просто рассказввал с чем связана ошибка getDefinitionByName
0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 16:26  [ТС]
Такс, установил и Дивелопер и билдер 4.7. Теперь 2 вопроса возникло: как в иде выставить и где какой прогой редактировать скрипты? Ибо по умолчанию всеравно открывает классы 4.6 билдером? А по дивелоперу вопрос - почему ошибку выдает что не указано SDK и где его выставлять и как?
0
Модератор
 Аватар для TanaTiX
2939 / 1800 / 180
Регистрация: 19.02.2011
Сообщений: 6,556
11.06.2014, 16:28
Цитата Сообщение от Wells77 Посмотреть сообщение
А по дивелоперу вопрос - почему ошибку выдает что не указано SDK и где его выставлять и как?
Project>Properties>SDK там выбираете папку с SDK

Добавлено через 36 секунд
Цитата Сообщение от Wells77 Посмотреть сообщение
где какой прогой редактировать скрипты?
А чем дивелопер не устраивает?
0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 16:32  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
А чем дивелопер не устраивает?
Еще незнаю - первый раз его установил - вот щас и хочу посмотреть где удобнее будет по старинке на билдере или в дивелопере.
0
11.06.2014, 16:33

Не по теме:

Wells77, удобнее всегда по старинке :)

0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 17:48  [ТС]
Вобщем в дивелопере привы боре SDK ничего нету только No SDK configured. Жму Manage - там нету никаких установленых SDK для выбора. Что делать?

Добавлено через 1 минуту
В 2 словах вообще SDK это что? Это какие-то библиотеки именно Adobe Flash Professional CS6?

Добавлено через 27 минут
Если я правильно понял, сдк - это компилятор и я могу использовать в дивелопере даже компилятор билдера, указав к нему путь?

Добавлено через 43 минуты
Вроде все разобрался, все запускается. Но почему дивелопер не видит классов мувиков из фла файла? Как подвязать правильно или где он должен находится в какой папке, чтоб дивелопер его нормально видел?
0
Модератор
 Аватар для TanaTiX
2939 / 1800 / 180
Регистрация: 19.02.2011
Сообщений: 6,556
11.06.2014, 17:48
Цитата Сообщение от Wells77 Посмотреть сообщение
Жму Manage - там нету никаких установленых SDK для выбора. Что делать?
Клацнуть по кнопке для выбора папки - и выбрать папку, где находится SDK, все остальное подтянется автоматом.
Цитата Сообщение от Wells77 Посмотреть сообщение
Это какие-то библиотеки именно Adobe Flash Professional CS6?
Нет, это относится к флеш-технологии, а не к Adobe Flash Professional.
Цитата Сообщение от Wells77 Посмотреть сообщение
я могу использовать в дивелопере даже компилятор билдера, указав к нему путь?
Да
1
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 17:53  [ТС]
Цитата Сообщение от Wells77 Посмотреть сообщение
Вроде все разобрался, все запускается. Но почему дивелопер не видит классов мувиков из фла файла? Как подвязать правильно или где он должен находится в какой папке, чтоб дивелопер его нормально видел?
Как?
0
Модератор
 Аватар для TanaTiX
2939 / 1800 / 180
Регистрация: 19.02.2011
Сообщений: 6,556
11.06.2014, 18:04
Wells77, так в уроке это есть. Из fla компилируется swc, а в нем уже все есть.
0
20 / 20 / 3
Регистрация: 16.10.2013
Сообщений: 295
11.06.2014, 18:14  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
так в уроке это есть. Из fla компилируется swc, а в нем уже все есть.
Ага, тоесть при работе с дивелопером в любом случаэ нада с фла все символы заганять в swc, прикручивать до проекта дивелопера и тогда будет все видеть? А напрямую тянуть символы с библиотеки фла файла в дивелопере никак? Билдер напрямую так работает, но в билдере не срабатывает прелоадер так как в дивелопере - вот замкнутый круг
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2014, 18:14

Заданы имена девочек. Определить, какие встречаются во всех классах, которые есть только в некоторых классах и какие не встречаются
Заданы имена девочек. Определить, какие из этих имен встречаются во всех классах данной параллели, которые есть только в некоторых классах...

Как реализовать один и тот же метод в разных классах при агрегации?
Даны два класса, в обоих используется метод Repaint(). Как должен быть выглядеть этот метод в обоих классах при агрегации? ...

Как правильно использовать operator= при наследовании в полиморфных и неполиморфных классах
Доброго времени суток! Изучаю книгу С. Прата "Язык программирования C++. Лекции и упражнения." Закончил 13-ю главу, посвященную...

Прелоадер
Доброго времени суток форумчане. У меня тут 2 вопроса. 1) Как сделать так чтобы выводились русские символы после работы php скрипта. 2)...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru