Так уж принято, что первым приложением на любом языке программирования пишут, так называемый, «Hello, world!». Мы не будем отходить от традиций, хотя уже и написали такое приложение в качестве тестового примера в рамках статьи Разработка Flash-игр. Подготовка рабочего места. Но, на сей раз мы продвинемся немного дальше. Мы не просто напишем в окне заветные слова, но и рассмотрим вкратце работу с шрифтами и трансформацию объектов.

Примечание: Я сам только изучаю AS3, а потому лишь делюсь своими «открытиями», простыми словами...

Итак, понеслась…

Создаем новый проект совершенно аналогично тому, как было рассказано в выше упомянутой статье. Назовем новый проект "HelloWorld".

Я специально использую слитное написание без пробелов и знаков препинания в названиях проектов затем, чтобы было проще публиковать готовые приложения в сети интернет, т.к. там пробелы и другие знаки в ссылках на объекты заменяются на их кодовые числа, например, пробел — это "%20" и т.п. Подобного рода абра-кадабра только мешает и может потребовать переименования файла при его размещении на сервере или другие действия. Я же привык делать сразу так, чтобы потом не суетиться.

Теперь решим, что мы будем отображать в окне. Я решил написать: "Hello, world! Это приложение разработано при помощи FlashDevelop". Разбить эту реплику на несколько строк и каждую строку отформатировать задав ей собственный стиль начертания, цвет и шрифт.

Поскольку мы будем писать слова, то нам надо будет работать с объектами типа TextField.
К слову говоря, надо помнить о том, что во Flash-приложениях все, что необходимо отображать в окне — это объекты. А, следовательно, чтобы объекты отображались, должен быть примерно следующий порядок:

  • Объявление переменной объекта
  • Инициализация объекта (его создание)
  • Возможно взаимодействие с другими объектами при подготовке
  • Добавление объекта к stage

Кроме того, объекты могут добавляться к объектам образуя иерархию вида stage -> ParentObject -> ChildObject.
Таким образом к stage может быть добавлено, скажем, десяток родительских объектов, каждый из которых будет содержать различное количество дочерних объектов.

Ну это так, к слову, чтоб вы знали… А пока не будем на этом заморачиваться и двинем дальше.

В шаблоне приложения (файл main.as) в классе public class Main extends Sprite в самом его начале (т.е. до функции Main() ) напишем наши переменные текстовых полей:

private var t1:TextField;
private var t2:TextField;
private var t3:TextField;
private var t4:TextField;
private var t5:TextField;

И добавим переменную формата текста:

private var tf:TextFormat;

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

Внутри функции private function init(...) сразу после строчки removeEventListener(...) начинаем писать наш код.

Создадим объект первого текстового поля:

t1 = new TextField();

Объект создан и теперь можно задать ему параметры, такие как: положение в окне, размер и, конечно же, текст:

t1.x = 20;
t1.y = 20;
t1.width = 150;
t1.height = 30;
t1.text = "Hello, world!";

После задания параметров можно отформатировать текст:

tf = new TextFormat( "Arial", 20, 0x000000, true );

TextFormat на самом деле имеет гораздо больше вводных переменных, но можно использовать лишь те, которые должны отличаться от устанавливаемых значений по умолчанию. Так, в нашем случае мы установили шрифт Arial размером 20 пт., черным цветом и полужирным начертанием.

Чтобы было понятнее, расскажу кратенько о синтаксисе TextFormat:

tf = TextFormat( font, size, color, bold, italic, underline );

font — название шрифта, например: «Arial Black», «Times New Roman». Все их названия можно посмотреть в текстовом редакторе. Главное помнить, что не все шрифты из тех, что имеются у вас, окажутся у конечного пользователя. Чтобы не случилось того, что ваше приложение «косо» отобразиться на девайсах ваших друзей, когда надумаете похвастаться созданным вами шедевром, советую посмотреть такую вот таблицу шрифтов: Список стандартных шрифтов Windows. Если же задумаетесь о качественном совмещение с другими ОС — google с соответствующим запросом вам в помощь.

size — размер шрифта в пунктах.

color — цвет шрифта в формате 0xRRGGBB, где RR — шестнадцатеричное значение красного, GG — зеленого и BB — синего. Мне уже привычно… А чтобы вам не париться — сюда: http://getcolor.ru/. Получите схему любого цвета. И все, что нужно будет, это заменить знак "#" на "0x".

bold — полужирное начертание (true). По умолчанию false — обычное.

italic — курсив (наклон) (true). По умолчанию false — без наклона.

underline — подчеркивание (true). По умолчанию false — обычное.

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

Например, если нам необходимо указать только имя шрифта и размер, то остальные значения можно не указывать:

TextFormat( "Calibri", 10 );


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

tf = new TextFormat( "Arial", 20 );
tf.underline = true;

Иначе говоря, все экземпляры класса TextFormat доступны после точки. И можно создавать пустой текстовый формат:
 tf = new TextFormat();
, а уже потом обращаться к экземплярам, указывая их значения.

Едем дальше…

Теперь нам осталось применить текстовый формат к текстовому полю и добавить текстовое поле к stage, чтобы оно стало видимым:

t1.setTextFormat( tf );
addChild( t1 );

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

t2 = new TextField();

t2.x = 20;
t2.y = 64;
t2.width = 150;
t2.height = 20;
t2.text = "Это приложение";

tf = new TextFormat( "Arial", 14, 0xff0000, false, true );

t2.setTextFormat( tf );
addChild( t2 );

t3 = new TextField();

t3.x = 20;
t3.y = 80;
t3.width = 180;
t3.height = 20;
t3.text = "разработано при помощи";

tf = new TextFormat( "Arial", 14, 0xff0000 );

t3.setTextFormat( tf );
addChild( t3 );

t4 = new TextField();

t4.x = 20;
t4.y = 110;
t4.width = 150;
t4.height = 50;
t4.text = "Flash";

tf = new TextFormat( "Calibri", 32, 0xd0d0d0, true, true );

t4.setTextFormat( tf );
addChild( t4 );

t5 = new TextField();

t5.x = 90;
t5.y = 110;
t5.width = 150;
t5.height = 50;

t5.text = "Develop";

tf = new TextFormat( "Calibri", 32, 0xf09e14, true, true );

t5.setTextFormat( tf );
addChild( t5 );

Отлично! Теперь, если вы запустите приложение (F5), то увидите результаты трудов:

image

И так, работу с текстовыми полями и текстовыми форматами мы рассмотрели. Переходим к трансформациям…

Трансформации в AS3 представлены довольно широко. Оно и понятно… Годами отточено.

Всего разом не рассмотришь, а потому поговорим лишь о той трансформации, которая нам нужна в данной статье — это rotation (повороты).

Данная трансформация имеет в постфиксе имени букву оси, относительно (вокруг) которой будет происходить вращение. Т.е. их три:

  • rotationX
  • rotationY
  • rotationZ

Нам нужен первый из них.

Все углы считаются в градусах. Поставим предварительные значения для наших текстовых полей:

t1.rotationX = 90;
t2.rotationX = 120;
t3.rotationX = 150;
t4.rotationX = 180;
t5.rotationX = 180;

Как вы заметили, каждое следующее поле у меня повернуто на 30 градусов больше прежнего. Это сделано для не синхронного вращения полей.

А сейчас снова вернемся к «видимости» полей…

Все поля добавлены к stage, а, следовательно, все они отображаются. Но нам нужно, чтобы «перевертыши» не показывались до тех пор, пока не будут повернуты «лицом».

В AS3 за видимость отвечает переменная visible. Если ее значение равно true, то объект видимый, а если false, то невидимый.

Сделаем все наши поля кроме первого (оно уже правильно ориентировано) изначально невидимыми:

t2.visible = false;
t3.visible = false;
t4.visible = false;
t5.visible = false;

Прекрасно. Сцена подготовлена. Теперь нам необходимо ее «оживить». Для этого нам необходимо добавить слушатель смены кадров:

addEventListener(Event.ENTER_FRAME, MyRender );

Этот слушатель работает очень просто: каждый раз, когда готовится смена кадра ENTER_FRAME, будет вызываться наша функция, которую мы назвали MyRender.

Напишем эту функцию следом за функцией init().

private function MyRender(e:Event = null): void {
}

Каждый кадр будем поворачивать текстовые поля с шагом 5 градусов до тех пор, пока они не повернутся полностью, т.е. до 0 градусов:

if (t1.rotationX > 0) t1.rotationX = t1.rotationX - 5;
if (t2.rotationX > 0) t2.rotationX = t2.rotationX - 5;
if (t3.rotationX > 0) t3.rotationX = t3.rotationX - 5;
if (t4.rotationX > 0) t4.rotationX = t4.rotationX - 5;
if (t5.rotationX > 0) t5.rotationX = t5.rotationX - 5;

И позаботимся о том, чтобы в момент, когда текстовое поле повернуто на 90 градусов, оно становилось видимым:

if (t2.rotationX == 90) t2.visible = true;
if (t3.rotationX == 90) t3.visible = true;
if (t4.rotationX == 90) t4.visible = true;
if (t5.rotationX == 90) t5.visible = true;

Отлично. Мы всё сделали. Можно жать F5 и наслаждаться результатом.

Последнее, чем можно побаловаться, это «подогнать» приложение под требуемые параметры. Зайдем в свойства проекта Project->Properties:

image

Пройдя по указанному меню откроется окно свойств проекта:

image

Здесь нам понадобятся поля группы General:

Dimensions — оригинальные размеры окна. Дело в том, что на веб страницах приложение может быть масштабировано, НО! Пропорциональность масштабирования будет зависеть именно от указанных значений данного поля. Указывается в пикселях (точках).

Background color — цвет фона. Без комментариев…

Framerate — Частота смены кадра. Именно от этого значения зависят: а) плавность анимации; и б) нагрузка на систему и, как следствие, тормоза на слабых ПК. Я бы не советовал ставить значение более 30. И вообще, считаю, что 15 в подавляющем большинстве случаев более чем достаточно.

Ссылки

Готовый пример можно посмотреть здесь. Там же есть ссылка на загрузку исходников примера.

Комментарии (56)


  1. taliban
    25.01.2016 14:02
    +16

    Я возможно не буду столь оригинален, но зачем учить людей умирающей технологии? Я понимаю что флеш все еще используется, но это реально умирающая технология.


    1. MetaDone
      25.01.2016 14:33
      +3

      у меня на этот счет была мысль, что это баг песочницы и иногда из нее вылезают потерявшие актуальность статьи 5-10'тилетней давности


      1. dirtyHabrBobr
        25.01.2016 14:44

        Таки свежее: инвайт выдан НЛО, а в тексте ссылка на «предыдущую статью», месячной давности.


        1. MetaDone
          25.01.2016 14:49

          таки да, не переходил по ссылке


    1. sashabeep
      25.01.2016 16:00

      Покажите, пожалуйста, более удобный инструмент для рисования анимации, которую можно встроить в веб


      1. taliban
        25.01.2016 18:32
        -1

        CSS?


        1. sashabeep
          25.01.2016 18:56

          Подскажите визуальный редактор для CSS, чтобы таймлайн видно было


          1. taliban
            25.01.2016 19:17
            +1

            Может сразу уже нарисовать вам анимацию? Я сказал еще инструмент которым можно анимацию встроить в веб. То что для разработчика один инструмент удобней, никого по сути не волнует, я как конечный пользователь не очень люблю флеш из-за кучи параметров и отключаю его. То что у вас нет удобного редактора с таймлайном для цсс меня, мою маму и дядю Вову какого нить особо не волнует. Мне удобно настраивать сервера мышкой тыкая в галочки, но почему-то я работаю с консолью. Жизнь вообще жестокая штука, приходится выкручиваться.


          1. taliban
            25.01.2016 19:23

            https://www.adobe.com/products/edge-animate.html


      1. Vilyx
        25.01.2016 18:49

        Dart+StageXL например.


        1. sashabeep
          25.01.2016 18:55

          StageXL is a package for the Dart programming language


          Что-то не вижу таймлайна, кадров, слоёв… Интерфейс флеша похож и на видеоредактор, и на графический, и что-то между ними. Ни один ЯП не обладает визуальным интерфейсом по определению


          1. Vilyx
            25.01.2016 19:07

            Если вы именно про ручное рисование, то тут такая туча инструментов, что все перечислять не имеет смысла, проще гуглить и выбирать что больше нравится. Назову те, которые мне известны:
            1) Dart+StageXL+Dart toolkit for flash
            2) Dart+StageXL+Flump
            3) Edge animate

            Первые два используют Flash CC для рисования. Последний сам по себе, но не знаю как там с кодом.


            1. sashabeep
              25.01.2016 20:49

              Забыли сказать, что Edge Animate умер давно :) И все равно все возвращается к среде Flash, который научился все это экспортировать сам без плагинов и бубнов. Пока javascript не будет рендерится видяхой все это — пуки в воздух + помимо этого во флеше были такие фишки, которых пока до сих пор нет глобально во всех браузерах


              1. Vilyx
                25.01.2016 21:29

                Javascript, рендериться, видюхой, вы в курсе, что код не рендерится, а исполняется? Про умер тоже загнули сильно, поменяли имя, отложили запуск следующей версии, это не одно и то же.


                1. sashabeep
                  25.01.2016 21:31

                  Плоховато рендерится пока что… Иногда простейшая анимация какой-нибудь фоновой картинки греет комп нехило…

                  Edge Animate больше не будет, зачем он нужен, если есть новый флеш


                  1. Vilyx
                    25.01.2016 21:44

                    Если больше 30 000 спрайтов одновременно на 60 фпс при неполной загрузке даже одного ядра цп для вас плохо, то я уж и не знаю что хорошо.
                    www.stagexl.org/demos/performance.html

                    Про Edge на оф сайте русским по белому написано:
                    С ноября 2015 г. компания Adobe прекратила разработку Edge Animate CC. Разработчикам анимации на HTML5 и других платформах мы рекомендуем обратить внимание на приложение Adobe Animate CC (выход планируется в ближайшее время).


                    1. sashabeep
                      25.01.2016 21:45

                      Так вот в Animate CC гораздо больше от флеша, чем от Edge Animate


                    1. CJay
                      25.01.2016 22:51

                      Несколько лет назад интересовался производительностью html5. На тестах с зайчиками десятки тысяч объектов рисовались на ура, но вот на больших канвасах fps существенно проседал. Флеш на этом фоне выглядел достойнее. Как сейчас обстоят дела — не знаю, но не думаю, что что-то изменилось.


    1. DeeMOONger
      25.01.2016 16:08

      М-да… Что-то я тупанул. Извиняюсь. ОК. Пересаживаюсь на HTML5. Попробую и напишу статейку на неделе ;) Ждите, критикуйте. Критика мне нужна!


      1. CJay
        25.01.2016 22:54
        +1

        Посмотри в сторону Haxe. С ним сможешь откомпилить и в html5, и в flash, и под мобилки и десктопы.


        1. Frost47rus
          30.01.2016 15:47
          +1

          Работал с ним около 1.5 лет. Всё очень не радужно. Не знаю как сейчас, но тогда(примерно 2 года назад) боли и страданий было очень много :)


    1. Emin
      25.01.2016 16:17
      +2

      Немалая часть игр делают на флэше. Плюс Adobe Air для мобильных платформ. То, что на Хабре в основном пишут про ЯваСкрипт, это лишь отражает роль моды и маркетинга в ИТ-сообществе, но не реальное состояние технологий


      1. taliban
        25.01.2016 18:21
        +1

        Реальное состояние технологий — это когда производители браузеров по умолчанию выключают технологию, это когда все больше людей программирующий на AS3 остаются без работы, это когда в головах пользователей флеш ассоциируется только с рекламой и играми, это когда набирают обороты игры на html5, потихонечку вытесняя флеш. Это когда производители ОС лоббируют отказываться от технологии, и когда сама фирма производитель ищет способы переводить флеш в html5. Да, это все показательно, это не просто крики на хабре.


        1. Emin
          25.01.2016 19:06

          Только это всё к реальности отношения не имеет. А вот, что по факту:
          1. Flash встроен в Хром. А теперь встроен в IE:
          https://blogs.windows.com/msedgedev/2015/05/06/a-break-from-the-past-part-2-saying-goodbye-to-activex-vbscript-attachevent/
          Кстати, Майкрософт — это производитель ОС.
          2. Единственный плагин, которые сохранился при переезде на NPAPI, это флэш:
          https://blog.mozilla.org/futurereleases/2015/10/08/npapi-plugins-in-firefox/
          Даже Unity вылетел.
          3. Игры — это плохо? Т.е. технология для добавления динамики на веб-страничках — это круто, а технологии для создания игр — это фигня?
          И про рекламу тоже непонятно. Веб уже стал платным? Основной доход уже не от рекламы? Это когда такая революция произошла?
          4. Есть статистика про безработицу среди разработчиков на ActionScript?
          5. Adobe «не ищет способ переводить флэш в html5», а тупо монополизирует рынок веб-анимации, т.к. под разговоры о гибели флэша и наступлении тотального хтмл5, создать аналог так и не получилось. И теперь даже даже хтмл-анимацию будут делать во флэше.
          Это реальность, всё остальное маркетинг и религиозные пляски.


          1. taliban
            25.01.2016 19:40

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


            1. DeeMOONger
              25.01.2016 21:06
              +1

              Переход флешевой рекламы на HTML5 вполне понятен. У гугла горит рекламный трафик из-за пользователей, догадывающихся отключить флеш на время серфинга в интернете, чтобы не лезли в окно сиськи-письки. А реклама на чистом HTML пройдет по любасу. Это ход конем — гонка за длинным баксом. А пока флеш игры запускаются в ВКонтакте, ОК и других соц.сетях, а так же монопольно на десктопах — есть смысл юзать флеш. ИМХО.


              1. DeeMOONger
                25.01.2016 21:16

                Чтоже касается отсутствия поддержки флеш, скажем, в windows phone и теперь еще и android, то это тоже объяснимо: борьба за эксклюзивы. Маркетинг — чтоб больше качали и покупали игры под платформу, надо отрезать халяву. А флеш — халява коей море.
                На ПК же флеш работает. Так что… Флеш, скорее всего, будет жить. В том или ином виде, но будет…


          1. taliban
            25.01.2016 19:53

            Кстати статистика использования http://dou.ua/lenta/articles/language-rating-jan-2015/ Украинский рынок. Не такое уж большое кол-во людей, но тем не менее тенденция видна, более свежих данных, увы нет. Может для вас это будет не показательная статистика, но все же.


    1. romixx
      25.01.2016 20:33
      -1

      Чем она умирающая скажите пожалуйста?
      Плеер развивается. Эйр развивается.
      Приложения можно написать под веб/мобилу/десктоп.
      Даже юнити и тот отключили в хроме, но флеш остался.


    1. Frost47rus
      30.01.2016 15:43

      Вы не осведомлены до конца. Свои позиции планомерно сдаёт flash-плеер. Но ActionScript (здесь и далее, 3 версия языка) даже не думает умирать. Технология Adobe AIR не стоит на месте, напротив, семимильными шагами развивается. Достаточно лишь взглянуть на их roadmap. А так же погуглить списки игр, созданных на этой технологии, с использованием As3.
      Даже в условиях полного отказа браузеров от flash-плеера, ActionScript будет жить — уже есть библиотеки, и не мало, с помощью которых ActionScript код собирается в webgl/html5 приложения.


  1. barkalov
    25.01.2016 15:09
    +3

    Я хотел пошутить, доведя идею до абсурда, приведя в пример какой-нибудь ещё более устаревший язык в качестве гиперболы и… не смог. Автор выбрал самую ненужную технологию ever! Даже Кобол с Фортраном имеют сейчас больше смысла.


    1. MTonly
      25.01.2016 15:17

      BASIC! :D


      1. barkalov
        25.01.2016 16:15

        VBA живее живых, к сожалению.


    1. taliban
      25.01.2016 15:41

      Эй Эй! А как же реклама на сайтах? Без флеша тут никуда.


      1. Cyrus
        25.01.2016 15:51
        +1

        Flash ads that have been converted to HTML5 will be able to run on any inventory that supports either ad format.


        Даже вот так, почти уже год у Google. А тем более на мобильных устройствах, кто же в своем уме будет гонять Flash-баннеры в этом году?


        1. sashabeep
          25.01.2016 15:56

          Сравнивал на мобильных Flash и Swiffy — Swiffy тормознее. На пека тоже.


          1. Kolonist
            25.01.2016 20:00
            +1

            Простите, а как вы сравнивали Flash на мобильных, когда его там нет?

            Конечно, можно погемороиться, отказаться от Chrome, скачать и установить плагин из файловой системы, но кто этим будет заниматься из-за пары не особо нужных сайтов? А уж ради того, чтобы банеры лицезреть на смартфоне, уж точно никто в здравом уме не станет заморачиваться с Flash-ем.


            1. sashabeep
              25.01.2016 20:38

              Интернет — большой такой, я, например, делаю от 10 до 40 flash баннеров в месяц. Плагин устанавливал еще когда он чуть ли не в маркете был. Сейчас ситуация не особо изменилась по производительности. Дошло до того, что на одной из площадок научились обходить отключение «не главного» флеша на странице в хроме


              1. Kolonist
                25.01.2016 20:41

                По производительности — возможно. Но вот по доступности? Врядли многие владельцы новых смартфонов будут заморачиваться с установкой Flash. А с учетом того, что основные потребности владельцев смартфонов вполне удовлетворяются и без Flash, охват будет только уменьшаться.


                1. sashabeep
                  25.01.2016 20:44

                  Я к тому, что пока нет вариантов не использовать flash, нет ни одной удобной среды для визуального редактирования всяких там css-keyframe анимаций и т.д. — Flash будет жить. Давно его хоронят, всё никак не похоронят. Ну перелезут все на CreateJS и прочее — что толку? Апгрейдить компы для браузера будем, да. Тысячи тех же самых флешовых игр никогда не будут переписаны на HTML5


    1. sashabeep
      25.01.2016 15:58

      Вы видимо, не в курсе, что вышла новая версия флеша, которая умеет экспортировать во всякие там модные WebGL без всяких гугловых прокладок. ActionScript не изменился


      1. barkalov
        25.01.2016 16:14

        Не в курсе, если честно. Знаю только про swiffy. Слышал что что-то серьёзнее чем анимационные баннеры оно не умеет.
        А что за новая версия, расскажите? Это связано с Adobe Air?


        1. sashabeep
          25.01.2016 16:15

          1. barkalov
            25.01.2016 16:29

            Спасибо! Не знаете, а actionscript будет траслироваться в JS или будет виртуальная машина? Не смог нагуглить.


            1. sashabeep
              25.01.2016 16:32

              По логике вещей, должно конвертироваться, плюс было бы удобнее переключиться на другой язык, если, например, экспорт во Flash или Air не нужен, но никакой инфы нету. Раз уж google нареверсил транслятор части AS2 в JS, то, думаю, Adobe смогла это сделать тоже


    1. Emin
      25.01.2016 16:28

      Ага, игры не нужны, кроссплатформенные приложения на Adobe AIR не нужны, HLS на винде не нужен. Нам нужно лишь верить и ждать, верить и ждать. Когда-нибудь ЯваСкрипт до этого дойдёт. А пока даже статей про другие технологии быть не должно! Чтобы не подрывать веру.


      1. s5656
        02.02.2016 12:34

        Игры и приложения на флеше? Спасибо, себе оставьте.


        1. AlexBin
          02.02.2016 13:40

          Аргументы? Не, не слышал.


  1. sashabeep
    25.01.2016 15:55

    На сайте с просмотром вместо просмотра ссылка скачать плеер. Плеер есть, адблок выключен, на других сайтах флеш крутится


    1. DeeMOONger
      25.01.2016 18:23

      Да, действительно. Спасибо за замечание! Поправил.


  1. dmbreaker
    25.01.2016 22:40

    Учите уже haXe и не занимайтесь отмирающими технологиями.


    1. Frost47rus
      30.01.2016 15:54
      -1

      Странный комментарий :) Эти два языка (As3 и HaXe) как две капли воды похожи.


      1. dmbreaker
        31.01.2016 20:54

        Но один отмирает, а другой развивается. И haXe имеет множество отличий от AS3, а то так можно договориться, что Java и C# похожи как две капли воды.


        1. Frost47rus
          01.02.2016 11:46
          -2

          Полтора года на HaXe, там отличий с гулькин нос в синтаксисе. О чём говорить, если относительно небольшие библиотеки портировались в HaXe несколькими заменами?!
          По поводу отмирает — вот тут тоже промашка. Вы не осведомлены, по всей видимости. Что ж, это ваше дело, так считать :)


          1. dmbreaker
            01.02.2016 13:41

            Конечно несколькими заменами. Потому что HaXe включает AS3, но не наоборот.
            Ваш комментарий уровня: «у С и С++ отличий с гулькин нос. О чем говорить, если относительно небольшие библиотеки портировались в C++ несколькими заменами».


            1. Frost47rus
              01.02.2016 18:51

              Притягиваете.