Flash

ArrayAccess не работает в as3 ?

package api;
import flash.display.Sprite;

class Preview extends Sprite, implements ArrayAccess<String>
{
        var data:Array<Thumb>;
        public function new(sW:Float,sH:Float)
        {
                super();
        }
        public function add(url:String) {
        }
       
        public function scroll(items:Int) {
        }
        public function __resolve(s:String) {
                return s;
        }
}

Простой пример, но, flash player ругается ошибкой class not found ArrayAccess. На сколько я понимаю, в более ранних версиях haxe работала данная фича ? Или это зависит только от плеера ? Проверял на 9-м и 10-м.

Странно

Довольно странно, изучая исходники пакета flash , класса boot столкнулся с интересной особенностью.в классе boot есть определение функции

        public static function __instanceof( v : Dynamic, t : Dynamic ) {
                try {
                        if( t == Dynamic )
                                return true;
                        return untyped __is__(v,t);
                } catch( e : Dynamic ) {
                }
                return false;
        }

Но, при вызове не срабатывает - flash.Boot.__instanceof(obj1,typedef1);

Копаемся во внутренностях библиотеки Arctic

Решил таки разобраться, как использовать arctic и как она устроена. Всю статью читайте на моем сайте, здесь опубликую только выводы из моего небольшого исследования:
Достоинства:

  • компактная библиотека, обеспечивающая мощный функционал;
  • оригинальная архитектура и стиль программирования;

Недостатки:

  • отсутствует ComboBox (ох и ах, планируется в следующих версиях);
  • краткая документация (а может, это скорее достоинство?);
  • ограниченные и никак не документированные возможности скинирования;

Отлично подходит для самообразования и повышения своего уровня, в принципе, можно применять в небольших проектах.

Haxe

Натолкнулся на странное поведение Haxe:
При использовании класса из собственного пакета ни в какую не хотят грузиться символы из библиотеки. А при использовании просто файлов-классов все нормально работает.

Проект на haXe -- наконец-то я начинаю

Наконец-то я начинаю свой open source проект на haXe.

Это прототип программы для ведения TODO-списков, организованных в нечто более сложное, чем иерархическое дерево. В основе программы -- попытка объеденить преимущества иерархического дерева и облако тегов.

описание проекта
посмотреть прототип
скачать исходники

Imagin - фотогалерея на haXe

Хороший пример качественного законченного приложения, построенного полностью на haXe анонсировал недавно Балута Кристиан. Его детище называется Imagin и это бесплатная flash фото галерея, которая может вам понадобится, если:

  • вы хотите упорядочить ваши фотографии по галереям и подгалереям
  • вы хотите представить зрителям небольшую историю из изображений и музыки, слайд-шоу
  • вам нужна анимированная шапка для вашего веб-сайта
  • вам нужно что-то автоматизированное, а не статическая галерея, основанная на xml

Делаем для себя инструменты для разработки на haXe

Чтобы предельно быстро удовлетворить интерес тех, кто ищет себе инструмент разработки на haXe, скажу сразу -- лучший вариант -- FlashDevelop. На сегодняшний день эта IDE имеет самую лучшую поддержку haXe.

Если после этой фразы вы еще сохранили любопытство, не боитесь трудностей и готовы попробовать нечто иное, то я рекомендую вам сделать инструменты разработки своими руками. Для этих целей я сам использовал Linux, Vim, Ruby, Bash. Но вам не обязательно использовать именно их.

Вам понадобится:

  • любая операционная система;

XMLSocket и простой сервер на Ruby

В раздел Руководство по использованию haXe и Neko добавлен пример использования XMLSocket -- взаимодействие с простым сервером на Ruby. Читать тут.

Listener клавиатуры на stage в flash9

Иногда бывает удобно использовать listener слушающий события клавиатуры глобально, т.е. во всём приложении (например при создании flash игр). В flash8 с этим не возникает особых проблем, но в flash9 есть баг, в результате которого при удалении со сцены объекта, на котором был фокус, события клавиатуры перестают отлавливаться и сценой в целом, так как фокус в таком случае теряет и stage.

Иногда может помочь простой принудительный возврат фокуса объекту stage:
stage.focus = stage;

Physaxe, Bloom и PureMVC для haXe

В последнее время новые порты библиотек и проекты на основе haXe возникают всё чаще, так что даже просто узнать о них не всегда успеваешь, не то что описать. Тем не менее, о самых важных и интересных отписать таки надо:

  1. Physaxe - очередной физический flash движок в 2D, но на этот раз от самого Николя Канасье и имеющий в основе его последние достижения в области оптимизации haXe кода для работы в Flash 9. В этом наверное и основной плюс Physaxe - этот движок очень быстр. В качестве основы Николя использовал AS3 движки Glaze и Box 2D Flash. Для иллюстраций возможностей своего движка Николя выложил в haXe blog демо Physaxe. При оценке производительности Physaxe в демо не забудьте про клавишу "D", отключающую отрисовку. В реальных проектах вы не будете использовать Flash drawing API который отъедает очень большую часть ресурсов...

UI компоненты BIT-101 minimal в haXe

Просто небольшая полезная инфа по использованию AS3 библиотеки компонентов BIT-101 MinimalComps от Keith Peters в haXe.
Делать для этой возможности, оказывается, почти ничего не нужно. Достаточно скачать архив с компонентами, разархивировать swc файл и запустить haxe --gen-hx-classes на полученном файле библиотеки library.swf.

Всё. После этого можно, как обычно, добавлять библиотеку к проекту с помощью -swf-lib, добавлять папку со сгенерированными haxe классами в class path -cp и пользоваться этим набором UI компонентов в своём flash приложении написанном на haXe.

Порт движка APE на haXe

Появился порт as3 движка двумерной физики APE на haXe.
Его автор - Hugh Sanderson, уже известен своими экспериментами с производительностью и использованием haXe в играх, с результатами которых можно ознакомиться на его сайте gamehaxe.com...

А мы тут резиной балуемся... :)

Переписал свой многострадальный "компоновщик".

В двух словах:

Движок визуализации механизмов

Создал на днях, а точнее - переписал заново свой старый проект по созданию моделей плоских рычажных механизмов.
Посмотреть как работает и получить исходный код можно здесь.

SwfMill и тег <bitmap>

В списке рассылки появилась информация о недокументированном пока теге SwfMill - bitmap и в частности о применении его для внедрения растровых изображений в swf как для Flash9, так и для haXe.
Человек, которого зовут Krzysztof Różalski (не возьмусь транслировать это на русский) нашёл её в рассылке по SWFMill.

Ниже приводится рабочий пример, который он использовал с swfmill 0.2.12:

RSS-материал