![]() |
Синхронизация событий
Не судите строго, AS изучаю буквально второй день... Знаю несколько других языков прикладных, и там как-то проще все это. В двух словах что реализуется: есть массив карты с координатами и индексами текстур, через load делаю подгрузку двух картинок(по мне очень криво), далее должен идти вывод карты на экран, но тут первая проблема, load живет своей жизнью, и весь скрипт его не ждет... т.е должен происходить вывод картинок, а их как бы нет. И 2 вопрос, как можно создать массив текстур (1.jpg,2.jpg,3.jpg,4.jpg) с подгрузкой картинок, и далее накладывать (копировать,клонировать) их на другие объекты? Пожалуйста не судите строго..
Код AS3:
|
0. Как Вы думаете, что означает фраза "// entry point" в шаблоне класса?
1. Ну так ждите. Нет картинок – нет мультиков. 2. Загрузить картинки и сложить их в массив? Непонятно, Вы хотите чтобы картинки были до того, как они загрузятся? Объясните логику вопроса. |
0. Почитал почитал, так и не понял .. буду очень благодарен за объяснения.
1. Насчет картинок как бы стало понятно... 2. Есть карта (массив с координатами и индексом текстуры - каждая ячейка). должна быть функция, которая подгрузит картинки(текстуры карты) и сохранит их в виде массива. должно получиться примерно так: Код:
textura_name[0]= "карта1";Код:
for(x,x,x){ |
AS - асинхронный язык. Программирование на нем осуществляется методом "пнул и забыл". А Вы пытаетесь использовать его как синхронный язык. То бишь программировать методом "Вызвал и получил результат".
Вот Вам простой пример на псевдоязыке синхронного сложения двух чисел и вывода результата: f PHP код:
PHP код:
Цитата:
Должны быть две функции. Первая - инициирует загрузку картинок. Вторая - умеет что-то делать с загруженной картинкой ( куда-то складывать, показывать и т п.) Первую вызываете Вы. Вторая - обратный вызов вызывается в потоке самим loader-ом |
Цитата:
У Вас в конструкторе осталась подписка на событие добавления экземпляра на стейдж. Это момент, когда надо начать инициализацию (так как в подавляющем большинстве случаев визуальному экземпляру надо иметь ссылку на стейдж, а она доступна после добавления этого экземпляра на стейдж))). Что эта подписка сейчас делает в Вашем коде, Вы наверное сами не понимаете – вызывает метод init(), но зачем, если все что в этом методе есть – это отписка от события, которое его вызвало)))) Дело вобщем в том, что весь код, который сейчас у Вас в конструкторе (кроме упомянутой подписки), должен располагаться в методе init(), то есть вызываться только после того, как экземпляр будет добавлен на сцену. Это не относится к вопросу топика, не решает его проблему. Это просто замечание, что класс написан в корне неверно. Цитата:
|
Более менее стало понятно, но вопросов еще больше появилось... Вот что получилось сейчас http:// coolfuns. net/ ... Безграничная карта с динамично подгружающимися текстурами.
|
| Часовой пояс GMT +4, время: 11:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.