Блоги

Решил делать классы для удобного написания игры на haxe

Все что буду хелловордить на flash haxe буду выкладывать сюда. У кого есть предложения, пожелания, улучшения или просто критика. Буду рад услышать... Пока сделал немного разобрался со звуками и сделал класс надписи и кнопок. В исходниках в коментариях можете увидеть непонятные мне ошибики и помочь если не трудно мне их исправить.
Вот адресс: http://code.google.com/p/my-haxe-classes/ кому интересно хеллоувордить вместе велком!

haXeDevelop - новая IDE под haXe

Будущий сайт проекта - http://haxedevelop.org/ - пока там ничего дельного.
Языки используемые при разработке haXe/air + haXe/neko.
Интерфейс будет написан на AsWing. Можно будет писать плагины, пока не знаю на чем - либо это будут SWF-файлы, либо это будут скрипты на HaxeScript, работающие через какой-то интерфейс.

С июня месяца я официально начинаю разработку кросплатформенной IDE, полностью поддерживающую haXe и все его особенности. Равняться буду в основном на FlashDevelop и FDT, а также Visual Studio.

haXeAsWing

После почти трехлетнего перерыва вышла бета версия Aswing 2.0

Основные изменения:
- новый скин (LookAndFeel) по умолчанию
- добавлены компоненты JStepper, DateChooser
- добавлен WeightBoxLayout
- багфиксы и мелкие фичи

В библиотеку включен новый проект - порт для haXe под названием haXeAsWing.
Фактически, это ее точная (с минимальными отличиями) копия, и мы можем использовать любой из вариантов на выбор.

upd. paling добавил ссылку на демо компонентов, готовую swf можно посмотреть в папке bin

Что изменилось, и как этим пользоваться?

Новости прошедшей недели

Как все уже знают, на прошлых выходных состоялась конференция haxecon, в рамках которой обсуждались вопросы о текущем положении и будущем данной платформы. Докладов было немного, но все они довольно интересны.
Первоначально планировалось, что будет осуществляться вещание с конференции, но из-за возникших проблем с доставкой оборудования это оказалось невозможным. К счастью были сделаны видеозаписи докладов, а сегодня они стали доступны здесь.

AsWing 2.0 beta + haXeAsWing

После почти трехлетнего перерыва вышла бета версия Aswing 2.0
В проект включена новая библиотека для использования его вместе с haXe - haXeAsWing

Основные изменения:
- новый скин (LookAndFeel) по умолчанию
- добавлены компоненты JStepper, DateChooser
- добавлен WeightBoxLayout
- багфиксы и мелкие фичи

Чуть позже напишу свой отчет о переходе на новую версию

10.2 и нативные курсоры

для тех, кто не хочет возиться так же как я при использовании нативных курсоров из flash 10.2 есть несколько полезных советов

- скачать последнюю версию haxe (автоматический билд, на момент написания это r3794)
- для владельцев flashdevelop (по сути к делу это не относится, но в текущем релизе нельзя выбрать версию плеера 10.2) - обзавестись flashdevelop 4
- прочитать внимательно этот тред на офф. форуме

haXe 2.07 и Air

Мне нужно было закодить приложение на haXe/air с версией haXe 2.07.
При компиляции выпали ошибки.

Error Message:

C:\Program Files\Motion-Twin\haxe/std/flash9/ui/ContextMenu.hx:3: lines 3-13 : F
ield clone should be declared with 'override' since it is inherited from superclass
C:\Program Files\Motion-Twin\haxe/std/flash9/ui/ContextMenu.hx:3: lines 3-13 : F
ield clone overload parent class with different or incomplete type
C:\Program Files\Motion-Twin\haxe/std/flash9/ui/ContextMenu.hx:3: lines 3-13 : f
lash.ui.ContextMenu should be flash.display.NativeMenu
C:\Program Files\Motion-Twin\haxe/std/flash9/ui/ContextMenuItem.hx:3: lines 3-9
: Field clone should be declared with 'override' since it is inherited from supe
rclass
C:\Program Files\Motion-Twin\haxe/std/flash9/ui/ContextMenuItem.hx:3: lines 3-9
: Field clone overload parent class with different or incomplete type

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

Полиморфные функции. Библиотека. Версия 1.0

Библиотека реализующая полиморфные функции. Инструкция по установке и использованию:

haxelib install PolymorphFunction

Во FlashDevelop создаем проект, например haXe/Flash:

Заходим Project -> Properies -> Compiler Options -> Libraries
добавляем туда строчку PolymorphFunction

package ;

import flash.Lib;

enum MyEnum {q; w; e;}

class Main
{
        static var myfunc:Dynamic = PolymorphFunction.parse([
                function(a:Int, b:Int) { return a + b; },
                function(a:Int, b:Int, c:Int) { return a + b + c; },
                function(value:String) { return "Hello, " + value + "!"; },
                function(first:Float, two:String) { return Std.string(first) + " -> " + two; },
                function(p1:{ x:Int, y:Int }, p2:{ x:Int, y:Int } ){return { x:p1.x + p2.x, y:p1.y + p2.y };},
                function(arr:Array<Dynamic>) { return "This is Array<Dynamic>"; },

Как я подключал AsWing или swf-библиотеки в 2.07

Disclaimer: я из рук вон плохо знаю flash-платформу, поэтому часть моих приключений ниже может кому-то показаться странной - это смело можно списывать на то, что я чайник...

А дело было так. Пришло мне в голову перевести gui для небольшой программки с Arctic на AsWing.
И вот, разбираясь с подключением AsWing, сделал для себя несколько важных открытий (с опозданием примерно на полгода).

Семинар HaXe на территории Украина и/или Россия.

Вчера через haxe@lists.motion-twin.com задал вопрос о возможности проведения семинара
на территории Украины. Люди откликнулись, переписку добавлю завтра.

Может ли кто-нибудь пояснить/высказать мнение, если такой семинар будет
проходить в праздничные дни и не в Вашем городе, есть интерес Вам ехать?

Как для меня: я в Киеве, например семинар проходит в Одессе. Я еду.
Если в Санкт-Петербурге проводится, из Москвы поедете?

Это понятно, что если программа заинтересует, то поедем...
Я спрашивал о проведении семинара для различных уровней изучения

Scythian - Вы кто?

Я подписан на оповещение в gmail по фразе haxe.
Каждый день приходят ссылки на различные документы,
в котором есть слово haxe.
И каждый день я наблюдаю, как человек переводит полезные
англоязычные материалы сайта haxe.org на русский.
Надо отметить высокое качество перевода.
Можно узнать, кто трудится?

Здесь на карте пользователи Haxe.

Вот здесь на карте :
https://www.ohloh.net/p/haxe/map

Наш значек СЕРОГО цвета.
Чтобы твой значек отобразился в сообществе Haxe необходимо:
1. Зайти https://www.ohloh.net/p/haxe
2. Кликнуть ОБЯЗАТЕЛЬНО кнопку I use this, на фото обведена красным.
http://solovyovserhiy.colocall.com/img/i-use-this.jpg
Да, кто не зарегистрирован, то регистрация. ))

Аватар добавляйте тоже.

Планируется встреча пользователей HaXe.

Пару дней назад возникла в Одессе, и была поддержана в Париже идея о проведении
встречи users HaXe.
В Haxe mailing list письмо направил Alexander Konotop (Украина, Одесса).
Оригинал en: http://lists.motion-twin.com/pipermail/haxe/2011-February/041074.html
Оригинал с переводом: http://solovyovserhiy.colocall.com/img/meeting.jpg
В этот же день всем зарегистрированным пользователям Haxe mailing list
по всему миру Nicolas Cannasse задал вопрос о предпочтительном месте проведения
встречи. В случае, если выбор падет на Францию...
Сам Alexander Konotop, в ответ на мой e-mail с просьбой прокомментировать, сделал ещё

Полиморфные функции. Удобный класс

Я написал класс полиморфных функций и решил поделится. Чтобы понять как задается сигнатура, рекомендую посмотреть http://haxe.ru/node/274

package;
import Type;
/**
 * ...
 * @author Mr.Cheater
 */

 
class PolymorphFunction
{
        static public function create(args:Array<Array<Dynamic>>)
        {
                var hashTable = new Hash<Dynamic>();
                for (i in args) hashTable.set(Std.string(i[0]), i[1]);
                return Reflect.makeVarArgs(function (args:Array<Dynamic>):Dynamic
                {
                        return Reflect.callMethod(null, hashTable.get({
                                var signature = new Array<String>();
                                for (i in args) signature.push(Std.string(Type.typeof(i)));
                                Std.string(signature);
                        }), args);
                });
        }
}

class Main
{
        static var myfunc:Dynamic =  PolymorphFunction.create([
                //The addition of 2 Ints
                [[ValueType.TInt, ValueType.TInt],
                function(a:Int, b:Int)
                {
                        return a + b;
                }]
                ,

RSS-материал