Старлинг: Изменения
Версия 1.5.1 — 2014-05-26
— ссылки на 'HTTPStatusEvent.HTTP_RESPONSE_STATUS' заменены пользовательской константой, чтобы избежать проблем в чистых Flash-проектах.
Версия 1.5 — 2014-05-21
— добавлена поддержка автоматического выбора профиля Context3D;
— добавлено автоматическое использование RectangleTextures при возможности для экономии памяти;
— добавлена поддержка повёрнутых SubTextures (для таких инструментов, как TexturePacker);
— добавлена поддержка экземпляров 'File' для 'AssetManager.enqueueWithName';
— добавлена поддержка параметров для каждой текстуры для 'AssetManager.enqueueWithName';
— добавлена поддержка нескольких экземпляров Starling при использовании AssetManager;
— добавлена поддержка 'фонового выполнения' для AssetManager;
— добавлена поддержка последнего формата файлов ATF;
— добавлена поддержка Antialiasing в RenderTextures (поставляется с AIR 13);
— добавлен автоматический пулинг отложенных вызовов в 'Juggler.delayCall';
— добавлена удобная функция 'repeatCall' в Juggler;
— добавлено свойство 'touchGroup' в контейнеры, похожее на 'mouseChildren' в классическом Flash;
— добавлен класс 'SystemUtil' для упрощения задач, зависящих от платформы;
— добавлены свойства 'offsetX/Y' в BitmapFont;
— добавлен параметр 'transparent' в 'Stage.drawToBitmapData';
— добавлен метод 'Texture.fromData';
— добавлены аргументы 'rgb' и 'alpha' в 'RenderTexture.clear';
— добавлено статическое свойство 'defaultTextureFormat' в TextField;
— добавлено больше вызовов dispose в AssetManager (например, при замене существующих объектов);
— добавлено свойство матрицы преобразования в класс 'SubTexture';
— добавлен метод 'RectangleUtil.getBounds';
— добавлена проверка, работает ли очистка не-POT RectangleTexture (обходной путь для ошибки iPad 1 AIR);
— добавлены дополнительные проверки достоверности контекста для более надёжной обработки потери контекста;
— добавлен метод 'ColorMatrix.tint' для Flash-подобного тонирования (спасибо esdebon);
— добавлен 'BlendMode.BELOW' для рисования ниже объектов на RenderTextures;
— добавлен защищённый метод 'transformData' в AssetManager, позволяющий предварительно обрабатывать необработанные байтовые данные;
— добавлена утилитарная функция 'execute';
— добавлено защищённое свойство в Juggler, позволяющее получить доступ к вектору объектов;
— добавлено свойство 'muted' в MovieClip;
— добавлены свойства 'keepAtlasXmls' и 'keepFontXmls' в AssetManager;
— добавлено статическое свойство 'all' в Starling, позволяющее получить доступ ко всем экземплярам (спасибо Josh);
— добавлена поддержка HTTP 'content-type' в AssetManager, используемая, если расширение файла не найдено;
— добавлено свойство 'numCurrentTouches' в TouchProcessor;
— добавлена проверка действительности контекста перед отправкой событий 'RESIZE';
— значительно оптимизировано время запуска за счёт ленивого создания AGAL-программ (спасибо ajwfrost);
— оптимизирована производительность сеттера 'DisplayObject.rotation' за счёт избегания цикла (спасибо zeh);
— оптимизирован рендеринг шрифтов Bitmap за счёт значительного сокращения выделения объектов (спасибо Jeff);
— оптимизирован 'Quad.setColor' (спасибо IonSwitz);
— оптимизирован сеттер 'DisplayObject.transformationMatrix';
— оптимизировано изменение размера экземпляра QuadBatch;
— оптимизированы методы 'removeEventListener';
— оптимизирован геттер 'Texture.frame' за счёт избегания выделения;
— исправлен парсинг имени файла и расширения объекта AssetManager;
— устранена нулевая ссылка при потере контекста после изменения шрифта с TrueType на BMP;
— устранено предупреждение компилятора в Flash CC;
— устранены множественные отправки событий 'addedTo'- и 'removedFromStage';
— устранены выделения замыкания RenderTexture (спасибо Jonathan Hart);
— устранены проблемы синхронизации при последовательном вызове методов 'purgeQueue' и 'loadQueue';
— устранён вызов метода 'advanceTime' после потери контекста;
— устранены случайные нулевые ссылки в классе TextField после потери контекста;
— устранена ошибка максимального размера QuadBatch;
— устранена недостаточная утилизация TextField в Button;
— устранена проблема с получением выравнивания текста в TextField;
— устранена ошибка, возникавшая при потере контекста во время обработки очереди AssetManager;
— частично восстановлена поддержка восстановления кэшированных фильтров при потере контекста;
— скорректировано отсечение 'nativeFilters' на TextField;
— скорректированы обработчики событий 'deactivate' в TouchProcessor;
— скорректирована потенциальная возможность деления на ноль в сеттере 'DisplayObject.transformationMatrix'. Битап моунтс с включенным «автосайз» разбивали слова пополам.
- Исправлено, что туч-очередь не очищалась при прерывании работы приложения.
- Исправлена работа метода «мэппоинт» класса «Диспласемент мэпфилтр» (теперь учитывается коэффициент масштабирования).
- Избыточная загрузка анимаций на основе времени ограничена максимальным значением в 1 секунду.
Версия 1.4.1 — 2013-10-15
- Добавлено публичное свойство «Ассет мэнеджер.нум кведжед ассетс».
- Добавлено защищенное свойство «Ассет мэнеджер.кведждж».
- Добавлен метод «Старлинг.реджистер прогрэм фром сорс».
- Оптимизирован рендеринг текста на кнопках путем включения их свойства «бэтчабл».
- Оптимизировано построение фильтра фрагментов путем кэширования шейдерных программ (благодаря Ион Свитц).
- Оптимизирована работа сеттера «Вертэкс дата.нум вэртэксес» (благодаря хамид хоматаш).
- Исправлен ошибочный «клипрэкт», когда он полностью выходил за границы сцены.
- Исправлена ошибка в методе «Ассет мэнеджер.лоад кведждж», когда во время активного таймаута вызывался метод «пурдж кведждж».
- Исправлена анонимная функция для совместимости с FDT проекта «Скалфолд».
Версия 1.4 — 2013-09-23
- Добавлено свойство «Спайт.клипрэкт» для простого прямоугольного маскирования (благодаря Тиму Конклингу).
- Добавлен класс «Диспласемент мэпфилтр».
- Поддержка «Хай ди пи ай» (то есть ретина МакБуки).
- Поддержка прямоугольных текстур, введенных в AIR 3.8.
- Поддержка обновленного формата файлов ATF.
- Добавлена поддержка «Тэкстур. рут.он рестор» для ручного восстановления текстуры при потере контекста.
- Добавлена поддержка «Тэкстур.фром эмбеддэд ассэт».
- Автоматическое изменение размера «Тексфилд. автосайз» (благодаря Тиму Конклингу).
- Добавлена возможность добавления активов с именем «Ассэт мэнеджер.энкуэ с нэйм».
- Защищенный метод «Ассэт мэнеджер.нэйм» для пользовательских правил именования в подклассах.
- Защищенный метод «Тексфил.формат текст» для создания подклассов (благодаря Гранту Мэтьюсу).
- Поддержка универсальных данных XML, байтовых массивов и JSON в классе «Ассэт мэнеджер».
- Метод «Стэйдж.драут то битмэпдата» для скриншотов игр.
- Свойство «Тэкстуратлас.тэкстур».
- Методы «Туэн.гет энд вэлъю» и «Туэн. гет прогресс» (благодаря Джошу Тиньяле).
- Свойство «Куод.премультиплиэд альфа» (для единообразия).
- Проверка файла политики «Ассэт мэнеджер чек полис файл».
- Очистка очереди «Ассэт мэнеджер пурдж кведждж» методом: опустошает очередь и останавливает все ожидающие операции загрузки.
- Событие «тэктюрэс ресторэд», отправляемое классом «Ассэт мэнеджер» после потери контекста.
- Метод «Тексфил редрав» для принудительного немедленного отображения содержимого.
- Выравнивание центра объекта «Ди спай плэйнт».
- Необязательный параметр «ид» в методе «Тауч ивэнт.гет тач».
- Пакетная обработка «Куот батчабл» через необязательный параметр QuadBatch.
- Получение флагов поиска текстуры «Рендер саппорт.гет тэкстюр лук ап флагс».
- Метод «Имадж.сэт тэкс куодс ту».
- Метод «Тэкстур аджаст тэкс куодс».
- Поддержка всех новых форматов текстур Stage3D (включая сжатие во время выполнения на рабочем столе).
- Пользовательские обработчики касаний «Ассэт мэнеджер супэнд рендеринг» — аргумент метода «старлинг стоп» (для фонового выполнения AIR 3.9).
- Дополнительные методы манипуляции вершинами и квадратами в QuadBatch.
- Оптимизация широковещательной передачи события ENTER_FRAME.
- Рендеринг оптимизирован путем одновременного копирования и преобразования.
- Расчеты матрицы трансформации «Ди спай обджект трансформэйшн мэтрикс» оптимизированы (благодаря Вилле Коскела).
- Скрытые выделения объектов оптимизированы на iOS (благодаря Ниссе Брингфорс и Adobe Scout).
- Обработка воссоздания текстур оптимизирована в случае потери контекста (требуется гораздо меньше памяти).
- Использование QuadBatches оптимизировано во время рендеринга (теперь они обрезаются).
- Кнопка оптимизирована путем удаления TextField, когда текст представляет собой пустую строку.
- «Ди спай объект контейнер сэт чайнд индэкс» оптимизирован (благодаря Джошу Тиньялу).
- Разбор имени файла / URL класса «Ассэт мэнеджер» обновлен для большей надежности (спасибо peerobo).
- Обновлены события клавиатуры: теперь они транслируются всем объектам отображения.
- Файл «транспортер чиф.рб» обновлен для использования «иос деплой» вместо «фрустрап».
- Область, в которую отрисовывается фильтр, теперь ограничена границами объекта + поле.
- Регистрация растровых шрифтов теперь нечувствительна к регистру.
- Имя растрового шрифта теперь совпадает с именем файла текстуры класса «Ассэт мэнеджер».
- Класс «Квадбатч»: «Квадбатч.м вэртикс дата» теперь защищен аналогично... Версия 1.3 — 2013-01-14
- Добавлен класс FragmentFilter для эффектов фильтров.
- Добавлен BlurFilter для эффекта размытия, тени и свечения.
- Добавлен ColorMatrixFilter для цветовых эффектов.
- В проекты шаблонов и демонстраций добавлен экспериментальный класс AssetManager.
- Добавлен удобный метод Juggler.tween.
- У класса Tween добавлено свойство repeatDelay.
- У класса Tween добавлены обратные вызовы onRepeat и onRepeatArgs.
- У класса Tween добавлены свойства repeatCount и reverse.
- У класса Tween добавлено свойство nextTween.
- Поддерживаются пользовательские функции перехода без строковой ссылки.
- Для класса Button добавлены свойства выравнивания текста (спасибо piterwilson).
- Решён вопрос с ограничениями области просмотра в ограниченном режиме (спасибо jamikado).
- Установлены правильные параметры масштаба сцены и выравнивание для конструктора Starling.
- Класс RectangleUtil с вспомогательными методами для класса Rectangle.
- Асинхронная загрузка текстур ATF.
- Свойство renderTarget для класса RenderSupport.
- Свойство scissorRect для класса RenderSupport.
- Свойства nativeWidth и nativeHeight для классов Texture.
- Метод Juggler.contains (спасибо Josh Tynjala).
- Можно напрямую изменять прямоугольник прямоугольника Starling viewPort (без переназначения).
- Опция игнорирования MIP-карт текстур ATF.
- Метод reset для класса DelayedCall (спасибо Oldes).
- Бесконечные повторения DelayedCall.
- Свойства pressure и size для Touch.
- Необязательный аргумент result для Touch.getTouches (спасибо Josh Tynjala).
- Необязательный аргумент result для TextureAtlas.getTextures/getNames.
- Поддержка символа возврата каретки в BitmapFont (спасибо marcus7262).
- Аргументы mipmaps и scale для метода fromBitmap (спасибо elsassph).
- Прелоадер для демонстрационного проекта.
- Параметр scale для Starling.showStatsAt.
- Поддержка Event.MOUSE_LEAVE на нативном этапе (спасибо jamikado).
- Поддержка сборок Maven (спасибо bsideup).
- Свойство contextData для экземпляра Starling.
- AssemblerAgal для RenderSupport.
- Обновлены мобильные шаблоны и демонстрационные проекты, теперь используется один и тот же стартовый класс для Android и iOS.
- Методы в классе Transitions стали защищёнными.
- Метод DisplayObject.hasVisibleArea стал публичным.
- Улучшена производительность MovieClip.fps (спасибо radamchin).
- Обработка общих контекстных ситуаций (теперь также поддерживается потеря контекста).
- Удалены встроенные ресурсы, чтобы избежать зависимости от библиотеки mx.core.
- Исправлена отрисовка списка отображения при остановке Starling (спасибо jamikado). - Исправлена ошибка «Touch.get(Previous)Location» (выдавала ошибку, когда цель касания больше не находилась на сцене).
- Исправлен неправильный x-сдвиг первого символа растрового изображения в строке (благодаря Calibretto).
- Исправлена ошибка при создании SubTexture / вызове «Texture.fromTexture()» из RenderTexture.
- Исправлены разрушительные остаточные касания при прерывании работы приложения AIR.
- Исправлен режим множественного наложения для текстур ATF.
- Исправлена ошибка, возникавшая при срабатывании очистки жонглёра от advanceTime.
- Исправлено: цепочка пузырей теперь замораживается, когда касание достигает фазы «BEGAN».
- Исправлено: теперь удаление детей происходит в обратном порядке.
- Исправлено: теперь принудительно устанавливаются правильные настройки теста глубины и трафарета.
- Исправлено: дисплей статистики теперь запоминает предыдущее положение.
Версия 1.2 — 2012-08-15
- Добавлена улучшенная система событий с автоматическим объединением событий и новым методом «dispatchEventWith».
- Добавлена поддержка профилей Context3D (доступна в AIR 3.4).
- Добавлена поддержка окончательного формата файла ATF.
- Добавлена поддержка перекоса через новые свойства «skewX» и «skewY» в DisplayObjects (спасибо aduros, tconkling, spmallick и groves).
- Добавлена поддержка ручного назначения матрицы преобразования объекту отображения (спасибо spmallick).
- Добавлено новое значение «DRW» в отображении статистики, показывающее количество вызовов отрисовки за кадр.
- Добавлен метод «BitmapFont.createSprite», полезный для простых текстовых эффектов.
- Добавлена поддержка общего контекста3D (полезно для объединения Starling с другими фреймворками).
- Добавлено свойство «Starling.root» для доступа к экземпляру корневого класса.
- Добавлен метод «BitmapFont.getBitmapFont».
- Добавлена поддержка пользовательских имён растровых шрифтов.
- Добавлена поддержка пакетной обработки экземпляров QuadBatch.
- Проверяется, что значение fps у MovieClip больше нуля.
- Добавлен класс «MatrixUtil», содержащий вспомогательные методы Matrix.
- Добавлено больше необязательных параметров «result*», чтобы избежать создания временных объектов.
- В класс TextField добавлена поддержка собственных фильтров (спасибо RRAway).
- В TextureAtlas добавлены методы «getRegion» и «getFrame».
- Добавлено новое свойство «DisplayObject.base», которое заменяет старую функциональность «DisplayObject.root».
- Теперь «DisplayObject.root» возвращает самый верхний объект ниже сцены, как в классическом Flash.
- Определяется цепочка пузырей перед отправкой события, как в классическом Flash.
- Возвращается удалённый/добавленный дочерний элемент в методах удаления/добавления DisplayObject.
- Возвращается имя растрового шрифта в методе «registerBitmapFont».
- Свойство «useHandCursor» перемещено из Sprite в DisplayObject.
- Обновлён AGALMiniAssembler до последней версии.
- Оптимизирована производительность за счёт использования 2D матриц (вместо Matrix3D) почти везде.
- Оптимизировано использование кэшированных матриц преобразования объектов отображения.
- Оптимизирован процесс обработки пустых пакетов в методе «RenderSupport.finishQuadBatch».
- Ещё больше оптимизирована обработка временных объектов, избегая её ещё в большем количестве мест.
- Оптимизированы методы localToGlobal и globalToLocal.
- Оптимизировано расположение растровых символов путём перемещения назначения цвета за пределы цикла.
- Расположение растровых символов оптимизировано путём объединения объектов расположения символов.
- Проверка абстрактного класса теперь выполняется только в игровом плеере в режиме отладки.
- Метод «advanceTime» в Жонглёре оптимизирован.
- Конструктор MovieClip оптимизирован.
- Исправлено неправильное расположение символов, когда последний символ растрового изображения отсутствует (спасибо qoolbox).
- Обработаны касания, которые начинаются за пределами области просмотра.
- Неправильное значение «tinted» при установке цвета на белый исправлено.
- Реализация масштабирования исправлена (не учитывалась кэшированная матрица преобразования).
- Обработка дублирующих слушателей событий исправлена.
- Обработка повторяющихся анимаций в жонглёре исправлена (спасибо bsideup).
- Положение строки растрового шрифта при усечении текста исправлено.
- Утечка памяти при использовании Juggler.purge исправлена (спасибо vync79).
- Утечка при вычислении матрицы отображения объекта исправлена (спасибо Fraggle).
- Ошибка, вызванная удалением родственного элемента в событии REMOVED_FROM_STAGE, исправлена (спасибо Josh).
- ROOT_CREATED иногда отправлялся в неправильных ситуациях (исправлено благодаря Alex и Marc).
Версия 1.1 — 2012-05-06
- Добавлена поддержка многоразрешающей разработки. Были добавлены и изменены следующие функции:
- Добавлен демонстрационный проект для мобильных устройств.
- Добавлен шаблон проекта для мобильных устройств.
- Добавлены режимы наложения.
- Добавлены файлы проекта Flash Builder.
- Добавлена возможность стирать содержимое из текстуры рендеринга (через «BlendMode.ERASE»).
- В класс Touch добавлен метод toString.
- В класс VertexData добавлен служебный метод getBounds, который используется в классе Quad.
- Класс QuadBatch можно использовать как объект отображения.
- Для мониторинга FPS и MEM добавлен метод Starling.showStats.
- Добавлен минимальный растровый шрифт mini.
- В класс BitmapFont добавлено свойство baseline.
- Можно использовать кратные значения BitmapFont.NATIVE_SIZE.
- В Touch добавлено свойство getMovement.
- Скрипт Transport Chief добавлен для развёртывания приложений iOS через терминал.
- В класс tween добавлен метод сброса для поддержки пула экземпляров (спасибо pchertok!).
- Событие Event.ROOT_CREATED отправляется, когда корневой объект готов (спасибо fogAndWhisky!).
Оптимизация:
- Оптимизированы шейдеры для iPad и аналогичных устройств, что значительно улучшило производительность.
- Ускорена загрузка буфера вершин для повышения производительности iPad 1.
- Оптимизирован метод Quad.getBounds.
- Значительно оптимизирован рендеринг растровых шрифтов.
- Существенно оптимизирован метод DisplayObjectContainer.contains (спасибо joshtynjala!).
- Некоторые матричные и рендерные коды оптимизированы (спасибо jSandhu!).
Исправления ошибок:
- Исправлена ошибка, возникавшая при установке свойства текста TextField в значение null.
- Исправлено неправильное сообщение об ошибке в установщике Image.smoothing.
- Теперь пауза и перезапуск Starling сбрасывают прошедшее время.
- Исключения больше не возникают, если у дочернего элемента сплющенного спрайта нулевое значение scaleX- или scaleY-.
- Исключения при создании мипмапа больше не возникают, когда текстура имеет размер один пиксель по высоте или ширине.
- Потерянные данные о цвете больше не теряются, когда pma vertex data установлено в alpha=0 (спасибо Tomyail!).
- Мышь, сенсорные и клавиатурные события теперь игнорируются, когда Starling остановлен.
- Собственный оверлей теперь обновляется, даже когда Starling остановлен.
- Возможное размытие постоянной текстуры рендера больше не возникает (спасибо grahamma!).
- Ошибки рисования в текстуре рендера, которые возникали при определённых коэффициентах масштабирования, теперь исправлены.
- Ошибка, которая возникала при манипулировании MovieClip из обработчика COMPLETE, теперь устранена.
Другие изменения:
- Значительно сокращено потребление памяти за счёт избавления от множества временных объектов.
- Добавлены многочисленные улучшения производительности (за счёт встраивания методов, удаления замыканий и т. д.).
- В DisplayObjectContainer добавлен метод sortChildren для удобного упорядочивания дочерних элементов.
- В Sprite добавлен параметр useHandCursor.
- Активация useHandCursor добавлена в Button.
- Свойство stage3D добавлено в класс Starling.
- Для обоих курсоров в мультисенсорном моделировании добавлена фаза наведения.
- Поддержка обработки потерянного контекста устройства теперь доступна.
- Проверяется наличие рекурсий в дереве отображения (дочерний элемент не должен добавлять родительский).
- Поддерживается одновременное использование нескольких экземпляров Starling.
- События Event.COMPLETE добавлены в класс MovieClip.
- Создан файл сборки Ant (спасибо groves!).
- Добавлено новое оформление в демонстрационный проект.
- Метод advanceTime класса MovieClip оптимизирован.
- Изменён интерфейс IAnimatable:
- Метод isComplete удалён.
- Вместо этого Juggler слушает новый тип события REMOVE_FROM_JUGGLER.
- Методы isComplete различных классов теперь работают корректно (возможно, благодаря изменению IAnimatable).
- Исключение с нулевой ссылкой в классе BitmapFont, которое возникало при использовании кернированного символа, который не был определён, теперь не появляется (спасибо jamieowen!).
- Обработка платформ с мышью и мультисенсорным устройством теперь работает надёжнее.
- Улучшена надёжность мультисенсорного моделирования.
- Исправлен метод dispose основного класса Starling.
- Расчёт границ для пустых контейнеров теперь корректен (спасибо groves!).
- Подтекстуры теперь достаточно умны, чтобы удалять неиспользуемые базовые текстуры.
- Проблемы с правой кнопкой мыши в AIR теперь решены (теперь реагирует только на левую кнопку мыши).
Версия 0.9.1 — 2011-12-11:
- Доступ к собственному этапу из класса Starling теперь возможен через свойство.
- Доступ к этапу Starling из класса Starling возможен через свойство.
- При отсутствии реализации функции рендеринга теперь возникает исключение.
- Изображение маркера касания перемещено в каталог src для лучшей переносимости.
- Bubbling для Event.ADDED теперь доступен. — Удалено событие REMOVED.
— В класс Image добавлен метод readjustSize.
— Значительно улучшена производительность:
- создан класс QuadBatch в качестве замены класса QuadGroup, который теперь используется для рендеринга всех квадов;
- оптимизирован класс VertexData;
- в классе RenderSupport убрано выделение памяти под многие матрицы;
- убрано выделение памяти для многих временных объектов;
- ускорено повторное выравнивание выровненных спрайтов;
- циклы «для каждого» (for each), критичные для производительности, заменены на более быстрые циклы «for».
— Демо теперь автоматически использует 30 кадров в секунду в программном режиме.
— Исправлен центр вращения в мультитач-демо.
— При изменении размера сцены исправлены позиции мыши и касаний.
— Исправлено распространение альфа-канала в выровненных спрайтах.
— Устранена проблема с игнорированием свойства bold в конструкторе TextField.
— Изменён код для вывода меньшего количества предупреждений в FDT.
Версия 0.9 — 2011-09-11.
Первая публичная версия.
Опубликовать ( 0 )