Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
 Аватар для CyberGenius
1 / 1 / 1
Регистрация: 23.08.2012
Сообщений: 100

Создание внешнего прелоадера для загрузки нескольких swf использующих API VK

19.09.2012, 20:53. Показов 2752. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый. Проект разбит на несколько swf фалов, в каждом из них используется API VK. При создании прелоадера подобного типа:
Кликните здесь для просмотра всего текста
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
package 
{
    import flash.display.Loader;
    import flash.display.LoaderInfo;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.ProgressEvent;
    import flash.net.URLRequest;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
 
    public class Main extends MovieClip 
    {
        private var loadStatus: TextField = new TextField();
        private var loader: Loader = new Loader();
        
        public function Main():void 
        {   
            loader.load(new URLRequest("http://cs6102.vk.com/u122246923/67751ce715a131.zip"));
            loader.contentLoaderInfo.addEventListener(Event.OPEN, displayPreloader);
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, OnComplete);
            loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, OnProgress);
        }
        private function displayPreloader(evt: Event): void
        {
            loadStatus.autoSize = TextFieldAutoSize.LEFT;
            addChild(loadStatus);
        }
        private function OnProgress(evt: ProgressEvent): void
        {
            loadStatus.text = evt.bytesLoaded + " из " + evt.bytesTotal + " " + ((evt.bytesLoaded/evt.bytesTotal)* 100 ) + "%";
        }
        private function OnComplete(evt: Event): void
        {
            removeChild(loadStatus);
            addChild(loader);
        }
    }
    
}

возникает проблема с работой API VK - загруженный swf не выводится и не выполняется. Нашел на форуме тему: Создание прелоадера для приложения вконтакте в которой человек столкнулся с такой же проблемой, ему был дан совет использовать событие Event.ADDED_TO_STAGE. И был приведен пример создания внутреннего прелоадера использующего это событие.
Подскажите, пожалуйста, в каком направлении нужно копать, чтобы создать внешний прелоадер для приложений Вконтакте?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.09.2012, 20:53
Ответы с готовыми решениями:

Реализация внешнего прелоадера
Всем привет! написал прелоадер, и как было показано на примере в последнем кадре импортировал картинку с кодом stop(); но надо что-бы...

Создание формы для загрузки нескольких файлов
Здравствуйте !Вот форма для админки сайта: <div class="center_"> <form action="add_news.php"...

Создание прелоадера для приложения вконтакте
Пытаюсь счас придумать, как написать прелоадер к своему пиложению. В связи с этим возникли такие проблеммы: Если я выношу прелоадер в...

7
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
19.09.2012, 21:15
Обычно в таких случаях рекомендуют поставить трэйсы, но при тестировании онлайн их чтение несколько затруднительно. Поэтому я в таких случаях рекомендую создать логгер. Он вам все равно понадобится. Суть его та же, что и с трэйсами - выводить тестовую информацию. Таким образом можно посмотреть какой из узлов программы не выполняется или выполняется не правильно. В вашем случае зачаток логгера - loadStatus.Только это должно быть нечто более централизованное (да-да, это рушит некоторые принципы ООП, но в данном случае есть свой специфика)
Еще одно напоминание. Не забывайте тестировать на дебажном ФП. Таким образом может появится несколько не видимых ранее ошибок, которые (их исправление) избавят от дальнейших проблем в разработке.
По коду. В плане оформления код плохо читаем. Должен быть стиль. Недавно читал в сети мысль, что, даже если не следовать общепринятым правилам, хоть каким-то следовать все же нужно. У вас этого нет.
Есть смысл сначала создавать слушатель, а потом уже запускать процесс загрузки.
И что находится в загружаемой флешке?
0
 Аватар для CyberGenius
1 / 1 / 1
Регистрация: 23.08.2012
Сообщений: 100
19.09.2012, 21:31  [ТС]
Тестировал на таком swf.
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
package
{
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.text.TextField;
    import vk.APIConnection;
 
    public class Main extends MovieClip
    {
        public function Main():void
        {
            var FlashVars: Object = stage.loaderInfo.parameters as Object;
            var VK: APIConnection = new APIConnection(FlashVars);
           
            VK.api("putVariable" , { key:1300, user_id:FlashVars.viewer_id, value:"З1" } );
           
            var txt: TextField = new TextField;
            txt.text = "Какой то текст";
            addChild(txt);
        }
    }
}
Добавлено через 10 минут
А возможно ли реализовать(и будет ли это правильным) вариант, когда в прелоадоре находятся все классы проекта, а графика будет находиться в отдельных swf и подгружаться по мере необходимости? В таком случае у нас не возникнет проблем с использование API VK.
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
19.09.2012, 22:31
Цитата Сообщение от CyberGenius Посмотреть сообщение
А возможно ли реализовать вариант, когда в прелоадоре находятся все классы проекта, а графика будет находиться в отдельных swf и подгружаться по мере необходимости?
Это возможно. Это может быть правильным решением. Корректность такого выбора все же будет зависеть от поставленной задачи.
Логгеры подключил, какой результат? Есть кстати различные готовые решения.
0
 Аватар для CyberGenius
1 / 1 / 1
Регистрация: 23.08.2012
Сообщений: 100
20.09.2012, 15:05  [ТС]
TanaTiX, логгер не подключал - суть проблемы мне объяснили на другом форуме:
"Cкорее всего, stage в конструкторе загружаемого swf еще равен null. Просто потому, что объект еще не добавлен в список отображения (конструктор то еще не отработал). Смотрите Event.ADDED_TO_STAGE.
А еще я сильно сомневаюсь в наличии loaderInfo у stage а также в том, что loaderInfo.parameters будет тем, что вам нужно. Потрейсите, посмотрите под отладчиком."
Так что нужно либо решать проблему использования в загруженных swf API VК, либо учиться использовать графику из загруженных swf.

TanaTiX, суть проекта в следующем: есть игра состоящая из нескольких уровней - уровень создания персонажа(выбор различной внешности для персонажа), и еще 3 уровня похожих логикой действий игрока(игрок шелкает по иконкам, повышает определенный параметр, после достижения этим параметром некой величины происходит переход на следующий уровень), в каждом уровне игрок сможет перейти в магазин для покупки игровых предметов - одежды и элементов интерьера. Так же можно будет перейти в окно с минииграми. Достижения в этих играх тоже могут менять главный параметр основной игры. Магазин для всех уровней лучше сделать один для всех уровней, но добавлять новые предметы в зависимости от уровня игры. Окно с минииграми тоже будет одним для всех уровней игры. Вот собственно и вся необходимая об игре информация.
Можно ли для подобного проекта использовать подгрузку графики из внешних swf, а весь код взаимодействующий с ними в прелоадоре? Игра скорей всего будет использовать БД MySQL( вдруг это тоже имеет какое то значение), так как я читал, что есть некие проблемы с хранение данных в вечных ячейках памяти на серверах ВК.
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
20.09.2012, 15:40
Такие вещи, как элементы магазина, лучше загружать отдельными картинками, а не swf-ами.
Хранение переменных на стороне контакта ни разу не делал, свой сервер мне видится более надежным решением, хотя и могу ошибаться.
Относительно подгрузки различных swf - могу согласиться на счет миниигр, все остальное - зависит от прочих факторов, в т.ч. в особенностях логики модуля, в отличиях в графике и пр.
А какой-нибудь логгер все же нужен - очень полезная штука.
0
 Аватар для CyberGenius
1 / 1 / 1
Регистрация: 23.08.2012
Сообщений: 100
20.09.2012, 18:20  [ТС]
Цитата Сообщение от TanaTiX Посмотреть сообщение
Есть кстати различные готовые решения.
Можно об этом поподробней? Где почитать?

Добавлено через 2 часа 21 минуту
И можно еще на счет логгера пояснить? Как его использовать и зачем?
0
Модератор
 Аватар для TanaTiX
2931 / 1790 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
20.09.2012, 19:44
CyberGenius, зачем использовать трэйсы? Это ведь очень мощный для отладки инструмент. Вот логгер используют для того же, но в случаях, когда трэйсы использовать нет возможости. Например, непосредственно на загруженном вконтакт приложении.
Пример - monsterdebugger. Наверняка есть и другие решения, просто назвал то, что помню. Как пользоваться - смотри на сайте в зависимости от выбранного варианта. По всяким разным не подскажу. т.к. пользуюсь каким-то полусамописным. В этом варианте это реализовано через синглтон.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.09.2012, 19:44
Помогаю со студенческими работами здесь

API VK: при работе wall.get дальше прелоадера нет изменений
файл popup.js $(document).ready(function () { $.ajax({ url:...

Локальное тестирование плагинов использующих API
Столкнулся с проблемой. Не могу протестить локально некоторые плагины такие как WP to twitter и другие свзанные с соц.сетями. Подскажите...

Загрузка внешнего swf файла
Я во Flash ещё новичок, и мне нужна помощь. Задача: требуется загрузить один swf внутрь другого, т.е. по клику на кнопке в первом проекте...

Кнопка и загрузка внешнего SWF
Здравствуйте! Нужно сделать, чтобы в одном swf файле (естественно у меня есть .fla версия), при клике на определенную кнопку,...

Создание простейшего прелоадера при заполнении списка из фонового потока
Доброго всем времени суток! Задача, как мне кажется, для ну уж совсем новичков, но я, по непонятной мне причине, не смог найти вообще...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru