JavaScript

Philippe Elsass. Demystifying Haxe to JS: Compilation, interop and bundling

В своем выступлении Филипп рассказал об основах работы с JavaScript в Haxe, о том как вызывать JavaScript-код из Haxe и наоборот и немного о том, как все это устроено изнутри.

Видео-версия доклада.

Juraj Kircheim. What the Haxe!

В своем докладе Юрай в легкой форме рассказал о том, что же такое Haxe, какова его история и какое применение он нашел в Docler Holding. По выражению Marcelo Serpa данное выступление можно назвать попыткой объяснить Haxe пятилетнему ребенку. По-моему это очень удачное сравнение :)

Видео-версия доклада доступна на сайте Haxe.

Что же, черт побери, такое Haxe?

Code of War, David Mouton

На семинаре, который провел Давид Мутон, можно было написать своего бота для игры Code of War, и испытать его против ботов других участников.

Видеоверсия семинара доступна на сайте Haxe.

В принципе, если вам интересно самим попробовать игру, то все, что нужно иметь на машине, это git-клиент, nodejs и npm.

Код игры можно склонировать командой:

git clone https://gitlab.com/damoebius/codeofwar.git

Также нужно будет установить зависимости командой:

cd codeofwar & npm i

"Спроси меня" с Вадимом Дяченко (YellowAfterlife)

Дяченко Вадим или YellowAfterlife
Я работаю преимущественно с Haxe, GameMaker, и JavaScript.
Для Haxe мной были созданы openfl-bitfive (позволяет создавать компактные и быстрые приложения на OpenFL) и HaxMin (помогает сжимать генерируемые Haxe файлы .js без вреда функционалу).

Прототип парсера логов Skype чата на Haxe

Просто оставлю эту ссылку здесь: http://try.haxe.org/#30E35
Там прототип парсера логов из чата в Skype, которым я иногда пользуюсь для себя и чтобы быстро почистить полезный с моей тз кусок чата и выкинуть его в этот раздел форума: http://haxe.ru/forums/raznoe/logi-chata (кстати, мне жаль немного, что я один пока пытаюсь увековечивать (и делать доступными поисковикам) куски чата так. Особенно если вы задали там вопрос, а вам полезно ответили, было бы хорошо потратить пару минут на то, чтобы расшарить пользу с остальным миром.)

Пользуйтесь тоже на здоровье. Достаточно вставить нужный кусок в содержимое переменной log и нажать Run (если кусок большой, после этого еще придется нажать Fullscreen, чтобы увидеть всё)

haXe/js Рисуем с библиотекой raphaelExtern

1) Вот тут нашел ссылку на библиотеку http://lib.haxe.org/p/raphaelExtern.
2) Установил haxelib install raphaelExtern
3) Cоздал haxe->js проект
4) Подключил библиотеку к проекту. Project/Properties/Compliler Options/Libraries/ добавил raphaelExtern
5) Написал код: (См. "How to use it" http://raphaeljs.com/ )

class Main
{
        static function main()
        {
                var paper = new Raphael(10, 50, 320, 200);

                // Creates circle at x = 50, y = 40, with radius 10
                var circle = paper.circle(50, 40, 10);
                // Sets the fill attribute of the circle to red (#f00)
                circle.attr("fill", "#f00");

                // Sets the stroke attribute of the circle to white
                circle.attr("stroke", "#fff");
        }
}

6) Всё скомпилировалось. При запуске через браузер вижу следующее:
"Raphael is not defined
Called from Main::main"

Баг в Haxe

Нашел один интиресный баг в haxe
main.hx:

import js.Dom;
import js.Lib;
import classes.DisplayObject;
/**
 * ...
 * @author Ekstazi
 */


class Main
{
        static var _logo:Dynamic= new DisplayObject('div');
       
        static function main()
        {
        }
}

displayobject.hx:
package classes;
import js.Dom;
//import js.HtmlDom;
import js.Lib;

class DisplayObject
{
        var obj:HtmlDom;
        public function new(name:Dynamic)
        {
                Lib.window.onload = function(e:Dynamic) {
                        Lib.window.alert(untyped __js__('typeof(name)'));
                }
                obj = Lib.document.createElement(name);
        }
       
        public function addChild(child:HtmlDom) {
                obj.appendChild(child);
                //obj.
        }
       
}

Вызывает ошибку, причина в том, что объявление статических переменных идет перед кодом:
js.Lib.document = document;
js.Lib.window = window;
js.Lib.onerror = null;

Кто-нибудь

Может кто нибудь подскажет мне как в haxe написать нечто подобное ?
Код Javascript:

function test(a){
  if (this instanceof test) this.init();
  else return new test(a);
}
this.prototype.init=function(){
   this.bla='trulala';
}

Пример простой игры на haXe / JavaScript

Michel "Filt3rek" Romecki опубликовал пример простой браузерной игры, написанной на haXe с JavaScript в качестве целевой платформы. Весь haXe код занимает всего около ста строк + немного html и css. Игра работает во всех основных браузерах.
По словам автора, писать JavaScript на haXe ему показалось проще и интереснее чем на самом JS.

Все исходники игры Мишель опубликовал в дневнике.

RSS-материал