Блоги

Переехали на новый сервер

Сегодня благополучно перенёс haxe.ru на новый сервер и заодно обновил движок до свежей версии. На новом сервере установлено более современное обеспечение, MySQL 5, PHP 5 и так далее. Так что работать сайт теперь будет заметно быстрее и, я надеюсь, надёжнее.

Описание языка "Основы haXe"

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

Сначала хотел опубликовать всё сразу, но потом решил не торопиться и сделать это постепенно, время от времени добавляя по нескольку статей. Возможно по ходу их размещения найдутся желающие уже сейчас предложить какие-то изменения или дополнения для опубликованных частей. Да и сам по мере добавление стараюсь исправлять и улучшать качество перевода, так как изначально делал его не особо тщательно.
На данный момент доступны разделы: "Основные типы", "Классы" и "Выражения" (включающие Константы, Операции, Унарные операции и Блоки)

Делегаты и callback

В качестве ещё одного сниппета не могу не рассказать и о callback.
Тем, кто только начинает знакомиться с haXe, это весьма полезное предложение может быть и не знакомо, т.к. до недавнего времени не упоминалось в документации.
Да и сейчас добраться до него не просто. Так что линк на статью про reserved keywords в главе мануала о классах будет уместен. В статье описывается сам принцип работы callback. Переведу самое основное...

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

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

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

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

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

Перевод документации

Создал и перевёл страницу с оглавлением документации и тьюториалов на haxe.org.
Кстати, теперь по русскому меню стало можно добраться до статьи про Использование haXe с Flex2, которую уже довольно давно перевёл Рост.

работа с компонентами CS3

задача: организовать комфортную работу со стандартными компонентами Flash CS3 в haxe-проекте
чтобы пользовать символы из библиотеки внешней свф нужны две вещи:

  • директива компилятора -swf-lib assets.swf
  • заголовок класса, на который этот символ залинкован:

extern class MySymbol extends MovieClip{},

ArrayAccess

Не помню уже было ли что-то подобное в AS. Может и было, просто я не пользовался.
Понадобилось сделать доступ к элементам некого списка, являющегося закрытым свойством класса, через его экземпляр и квадратные скобки. Решение оказалось очень простым...

Создание бинарного дерева

Ещё один интересный сниппет из рассылки.
Был задан вопрос о том, как конструировать бинарное дерево в haXe.
В ответ дали два простых варианта, каждый из которых по своему красив (лично мне понравился больше второй).

1. C помощью typedef:

typedef BinTree<T> = {
    var value : T;
    var left : BinTree<T>;
    var right : BinTree<T>;
}

Lambda.has

Как то руки до сих пор не доходили до класса Lambda, как впрочем и до многих ещё новых для меня вещей в haXe.
Но на днях в рассылке попался очень полезный метод этого класса.

Lambda.has(myList,value) - проверяет, есть ли значение value в myList.
Причём myList может быть не только списком, но и любой итерируемой структурой.

SwfMill и тег <bitmap>

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

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

My haXe labs. Открытие.

Когда начинаю знакомиться с новым языком или технологией, иногда записываю и сохраняю где-нибудь небольшие фрагменты, сниппеты изученного.
Раньше делал это локально, в текстовых файлах, в заметках Оперы, позже в локальной Wiki.
Этот раздел вики называл labs, то бишь лабораторией по изучению... :)

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

RSS-материал