flash

Вставка внешнего ресурса (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 разработки.
  • 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-материал