Специально для людей, которые не очень «дружат» с AS3. Сделал простенький preloader.
Ради интереса воспользовался ByteTween.
Все что нужно, это иметь под рукой preloader.fla, в котором, на сцене должен находиться MovieClip, будущий preloader.
Preloader может состоять из 100 фреймов, каждый фрейм соответствует проценту загрузки, а так же может содержать текстовое поле (Dynamic) с именем ‘txt’, для отображения статуса загрузки.
Все что нужно произвести, это небольшие изменения в файле Settings.as, где нужно указать путь к файлу, который нужно загружать, если preloader.swf и загружаемый файл находятся в одной папке, то просто укажите название файла. А так же в Settings.as, необходимо указать имя MovieClip preloader’а, находящегося на сцене. По умолчанию, ’stagePreloader’.
Download Source Files
P.S.
ByteTween ужасный Tween Engine, не пользуйтесь им, в серьезных проектах, он не стоит сэкономленных 1,5кб.
Старался максимально доходчиво написать…
Сейчас работаю над еще одним очень важным компонентом пользовательского интерфейса – подсказка (Tooltip).
Так как компонент будет поддерживать закругление углов (Rounded corners), необходимо разработать полноценную логику рисования части кривой Безье, после пересечения с «усиком» подсказки.
Смотреть в действии
P.S.
Всегда хотел иметь компонент такого рода под рукой. Так что, PROFGUI в скором времени обзаведется 5-ым компонентом.
После внесения серьезных изменений в алгоритм «А» звезда (удалось отказаться полностью от списков, и тем самым операций splice), решил сделать тест производительности алгоритмов.
На время влияет расстояние между начальной и конечной точками(длина пути).
Смотреть в действии
P.S.
На практике, нерационально использовать алгоритм Дейкстры, где граф имеет вид сетки.
Предлагаю вашему вниманию, собственную реализацию вспомогательного framework по обнаружению минимального пути в графе. На данном этапе разработки, PathFinder, поддерживает два алгоритма: алгоритм Дейкстры и «А» звезда. Алгоритмы изрядно изменены, для максимальной совместимости с framework, за основу взяты лишь идеи этих алгоритмов.
Достоинства и недостатки реализованных алгоритмов.
Алгоритм Дейкстры:
+ точное обнаружение минимально пути в графах любой сложности;
+ позволяет обнаруживать путь в сложных/запутанных графах;
- в 3 раза медленнее, чем алгоритм «А» звезда;
Алгоритм «А» звезда:
+ быстрый метод обнаружения пути;
+ идеально подходит для графов с принципом построения как у «королевского» графа;
- некорректно находит путь в сложных/запутанных графах;
Смотреть в действии
Небольшой наглядный тест, сравнения итераций. Очень много дискуссий в интернете по поводу, что та или иная итерация быстрее другой.
Самое интересное, что при очень большом количестве итераций (1 000 000 000), разница между различными методиками For, полностью исчезает.
Результаты теста при 1 000 000 000 итераций:
4103 ms
5340 ms
4087 ms
4089 ms
4090 ms
4090 ms
Смотреть в действии
P.S.
Постарайтесь подобрать такое количество итераций, что бы время на тип итерации выходило в районе 500мс.
На хорошем процессоре, это примерно 100 000 000 итераций.
Так же нужно понимать, что самая медленная итерация, это когда в конструкции For, i и len имеют разные типы, к примеру int и uint, про Number вообще не стоит говорить.