28 апреля 2013

Flash, ответы на вопросы - 3

Продолжаем тему общения о всякого рода сложностях во флеш... И вот наконец мы добрались до третьего выпуска ответов на вопросы! Ура! Это свершилось... Оказывается, написание таких сообщений занимает много времени, поэтому паузы довольно внушительные. Дело в том, что приходится находить скриншоты или делать их самому, "причесывать" материал, придумывать интересные примеры. Все это требует времени, которого, как всегда, не так много как хотелось бы :) Но не унывайте, я не заброшу это дело... Поэтому, если у вас имеются какие-то интересные вопросы по разработке во флеш - присылайте, я с радостью постараюсь ответить!
А сегодня в выпуске:
  • простой твинер с gskinner
  • использование png
  • настройка Flex SDK (во FlashDevelop и FlashBuillder) 
Все вопросы заданы Анонимным пользователем, за что ему огромная благодарность!
Простой твинер с gskinner
Как-то исторически сложилось, что я использую именно этот твинер. Пока мне в нем все нравится, как-то по-человечески он сделан что ли, не знаю... Не думаю, что другие твинеры работают в корне иначе, поэтому, я надеюсь, мои примеры будут легко переноситься на те инструменты, которые нравятся именно вам ;)
Итак, для чего использую твинеры я?
  • движения страниц меню
  • различные эффекты появления/пропадания объектов на экране
  • выползание ачивментов, вылет диалогов
  • интро/мультик к игре я обычно анимирую именно твинами
Пример кода:

new GTween(mcDialog, 1.5, {alpha: 1}, {ease: Exponential.EaseOut, delay: 0.5});

Что мне безумно нравится в gskinner, так это возможность его использования "в одну строчку". То есть большинство параметров можно передать сразу же, в конструктор.
Итак, пройдемся по переданным аргументам:
  • mcDialog - объект, параметр которого будет меняться
  • 1.5 - время в секундах, за которое проиграется твин
  • {alpha: 1} - набор параметров и их конечные значения... так как это набор, то мы можем использовать конструкции вида {scaleX: 1, scaleY: 1}, довольно удобно
  • {ease: Exponential.EaseOut, delay: 0.5} - дополнительные параметры... например, мы задаем экспоненциальный тип твина, а также указываем задержку перед проигрыванием. это также набор, поэтому мы могли бы задержку и не указывать, если она не нужна
Вот и все, вызываем эту строчку и наслаждаемся плавной анимацией! Объект сам проиграется, почистится, и всякое такое.

Готовое решение - это всегда круто, но в последнее время у меня возникают серьезные мысли написать свой велосипед, то есть твинер, который бы полностью удовлетворял бы моим желаниям и потребностям... но пока на это совсем нет времени...

Закидывание png в игру
Использовать в игре png-картинки можно, и в некоторых случаях нужно! Альфа-канал и другие прелести png-изображений при этом не теряются. Видео, как это можно сделать:


Недавно мне нужно было выгрузить набор объект в png с альфа-каналом. При этом CS4 через File-> Export...-> Image выдавал жуткие артефакты. Сейчас проверил в CS6 - все отлично, артефактов нет.

Настройка Flex SDK (FlashDevelop, FlashBuilder)
Зачем нам этот пресловутый Flex SDK? Чтобы компилировать само приложение. Итак, сначала скачиваем сам Flex SDK (некоторые инсталляторы программ вроде FD предлагают это сделать еще на этапе установки самого приложения).
Теперь нужно только прописать путь в настройках.

FlashDevelop (FD):
Тыкаем Tools -> Program settings, и в открывшемся окошке выбираем путь установленного Flex'а.



FlashBuilder 4.5:
Сначала закидываем свой Flex SDK в список установленных Flex'ов здесь:
Flash Builder -> Preferences -> Flash Builder -> Installed Flex SDK



А затем выбираем нужный здесь:
Project -> Properties -> Action Script Compiler 


FDT:
Хотел я еше написать, как это делаем в FDT, но он у меня накрылся, поэтому не могу расписать подробно как там и что. Но вообще в нем все очень похоже на FlashBuilder, даже иконки и окошки идентичны. Поэтому, я надеюсь, вы сможете разобраться без конкретных указаний какую кнопку нажать.

Сообщения, схожие по тематике:

0 коммент.:

Отправить комментарий