flash

AsWing и модальные окна

В этом простом туториале мы научимся получать данные из модальных (и не только) окон AsWing

Создадим простой класс, показывающий модальное окно...

Flash Player - 3d Api "Molehill"

Ссылки:
3D APIs for Adobe Flash Player and Adobe AIR - http://labs.adobe.com/technologies/flashplatformruntimes/incubator/featu...

MAX Racer demo - http://www.youtube.com/watch?v=KcKvS983K8c

Николас Каннасье уже написал статью про использование нового 3d Api в haXe-проектах
http://haxe.org/doc/advanced/flash3d

Оконное приложение haXe/C++

Используя написанное тут http://haxe.ru/node/210 и тут http://nanoflexer.blogspot.com/2009/09/1.html разобрался с компиляцией под haXe/C++. Прикрутил самописную визуальную библиотеку VistaGUI (очень сырую) и создал пример оконного приложения. Правда компоненты CheckBox и RadioButton сломались, но это не важно, потому что моя VistaGUI и правда очень сырая.
haXe/C++ версия:
http://cs10623.vkontakte.ru/u13476671/116385245/y_33fca01d.jpg
haXe/flash версия:
http://cs10623.vkontakte.ru/u13476671/116385245/y_9e83a1a0.jpg
Исходники:
http://free-files.at.ua/load/0-0-0-25-20

Вставка внешнего ресурса (PNG, JPEG, TTF, SWF) в SWF при помощи FlashDevelop

За вставку внешнего ресурса отвечает swfmill.

ШАГ 1

Копируете файл изображения в папку вашего haXe-проекта. Файл появится в меню Project. Щёлкаете правой кнопкой и выбираете Add To Library.

ШАГ 2

Щёлкаете правой кнопкой и выбираете Options....

Убираете галочку Auto-generate ID for movieAttach() и вписываете в соответствующее поле удобное вам название класса/картинки. Если картинка находится в папке, то вы должны указать полный путь до нее folder.subfolder.image.png .

Ставите галочку Embed as a Bitmap instead of Clip.

Различное поведение функции при различных типах аргумента

Предположим нам необходимо различное поведение функции в зависимости от типа получаемого аргумента. Реализуется несколькими способоми. 1ый кажется самый простой для восприятия, а возможно и самый быстрый.

package ;

import flash.display.Shape;

import Type;

class Main
{
        static public function main()
        {
                f(true);
                f(12345);
                f(1.2345);
                f("abcdef");
                f(new Shape());
                f(f);
                f({name: "abcdef" } );
                f(null);
        }
       
        static public function f(value:Dynamic)
        {
                //1) Рабочий вариант на switch
                switch(Std.string(Type.typeof(value)))
                {
                        case "TBool":                           trace("I am Bool");
                        case "TInt":                            trace("I am Int");
                        case "TFloat":                          trace("I am Float");
                        case "TClass([class String])":          trace("I am String");

AS3->haXe проблема с - " rototionY "

Пробовал перевести пример с AS на haXe. Не могу разобраться.
Не работает rotationY или я что то делаю не так.
Код as :

package {
        import flash.display.*;
        import flash.events.*;

        public class Main extends Sprite  {
                public function Main() {

                        addEventListener('addedToStage', function(e:Event){
                                stage.scaleMode = 'noScale';
                                stage.align = 'TL';
                                stage.frameRate = 30;
                        });
       
                       x = y = 200;
                      var a:Array = [];
                      for (var i:uint = 0; i < 30; i++) {
                           var s:Shape = new Shape;
                          s.graphics.clear();
                          s.graphics.beginFill(i * 0x90000 + i * 0x10, .07);
                          s.graphics.drawRoundRect(10+i, 10+i, 120, 120, 30);
                          s.graphics.endFill();
                         addChild(s);
                         a.push(s);
                     }

                   addEventListener('enterFrame', function(e:Event){
                                var i:uint;

Вопросы по haXe

Здраствуйте, у меня есть пара вопросов.
В чем преимущества haxe/flash перед обычным flash'ем?
Как соединится с php скриптом из haXe/flash и отоислать и получить данные?
Можно маленький примерчик.

Вышел haxe 2.04

26 июля вышел haXe 2.04. Основное нововведение - поддержка с++ (спасибо стараниям Хью Сандерсона http://gamehaxe.com/).
Основным преимуществом программ на с++ является высокая производительность. Плюс мы еще на шаг ближе к флэш-играм на iPhone http://gamehaxe.com/2009/07/28/haxe-iphone-cpp-at-last/.
Что необходимо для того, чтобы начать работать с новой платформой, можно почитать здесь http://blog.touchmypixel.com/2009/04/our-possible-haxe-c-plans/ (на английском).
http://ncannasse.fr/blog/haxe_2.04 - здесь создатель языка haXe показывает классический пример "Hello world" для с++.

haXe 2.02

Новая версия haXe 2.02 опубликована и доступна для всех.

На этот раз в составе обновления множество относительно небольших новшеств и исправлений для платформ flash, js и php.
Каждому будет интересно что-то своё. Для flash-программистов интересующихся оптимизацией производительности выделить можно пожалуй новый API flash.Memory для доступа к опкодам flash10, которые используются в недавно появившемся Adobe Alchemy. Более подробно об этом можно почитать в двух статьях на flash-ripper, а ещё подробнее в статьях Adobe Alchemy и Virtual Memory API в блоге Николя Канасье.

Полный список изменений в haXe 2.02.

Что такое haXe

haXe - универсальный объектно-ориентированный язык программирования высокого уровня.
Универсальность в том, что код на одном языке можно компилировать для нескольких платформ:

  • Flash - swf для flash-плеера от 6 до 10+ версия, использующие либо "старое" API для Flash<8 (AS2) либо новое для Flash9+/AS3. haXe предлагает очень хорошую производительность и языковые возможности для Flash разработки.
    Также из haXe кода можно генерировать код AS3 с помощью ключа -as3 out
  • JavaScript - клиентские скрипты .js в т.ч. использующие технологию Ajax. Полный доступ к типизированному DOM API браузера с поддержкой автодополнения, а все зависимости разрешаются во время компиляции.
  • NekoVM - компилированные программы, исполняемые виртуальной машиной neko, которые могут использоваться как серверные файлы для динамических веб-приложений (используя mod_neko для Apache) или как основа программ для командной строки или рабочего стола (NekoVM может быть включенаи расширена другими DLL)).
  • PHP - Можно компилировать haXe программы в файлы .php. Это позволяет использовать высокоуровневый строго-типизированный язык - haXe, сохраняя при этом полную совместимость с имеющейся серверной платформой и библиотеками.
  • C++ - Теперь можно генерировать и C++ код из ваших haXe программ, с необходимыми make-файлами. Это может быть удобным например для разработки iPhone приложений.

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

  • стандартный язык с множеством хороших возможностей
  • стандартную библиотеку (включая Date, Xml, Math...) которая работает одинаково для всех платформ
  • специфичные для платформ библиотеки: весь API каждой конкретной платформы доступен из haXe
RSS-материал