Блог от AS3Coder'a о JavaScript, HTML, CSS... и немного о Flash.

четверг, 10 сентября 2009 г.

Где спрятана библиотека (Library) во FlashDevelop и как ей пользоваться?

Давайте вспомним что такое библиотека во Flash IDE. С точки зрения программирования, библиотека - это список предписанных классов, экземпляры которых можно использовать в любом месте приложения. Рассмотрим только те, с которым можно работать посредством ActionScript:


Symbol

Font

Sound

Bitmap

При создании проекта, в его директории автоматически создаются три поддиректории: "bin", "lib" и"src". "lib" - это и есть наша библиотека.











Чтобы добавить новые классы в библиотеку, нужно переместить в эту директорию соответсвующие файлы.

В качестве класса Symbol, могут выступать отдельные символы библиотеки внешнего  .swf-файла, а также сам файл целиком. Классом Font может быть системный шрифт или отдельно взятый .ttf-файл. Sound-классом может быть только .mp3-файл. Bitmap-классом могут быть .png, .gif и .jpg-файлы.



Теперь обо всем по порядку:


Symbol

В правой вкладке "Project" на директории "lib" кликаем правой клавишей мыши, и выбираем пункт "Add", затем "Library Asset...". Выбираем нужный .swf-файл.



































После того, как файл появился в директории "lib", жмем на иконку "+" рядом с ним. Откроется содержимое .swf-файла. Идем в подпапку "Symbols", выбираем нужный нам символ, жмем правой кнопкой мыши, выбираем единственный пункт "Insert Into Document".















В открытом документе .as-файла. Появиться следующая строка:

[Embed(source = '../lib/library.swf', symbol = 'Circle')]

Сразу поле нее, необходимо объявить свойство, класса "Class", которое будет являться ссылкой на наш символ в библиотеке.

[Embed(source = '../lib/library.swf', symbol = 'Circle')] private var SymbolClass:Class;

Теперь, в коде можно использовать экземпляр этого символа:

addChild(new SymbolClass());

Параметры функции Embed:
  • source - Путь к .swf-файлу
  • symbol - Имя символа в библиотеке .swf-файла
  • mimeType - Тип файла. По умолчанию "application/x-shockwave-flash"
Для того, чтобы использовать экземпляр самого .swf-файла, а не символа из библиотеки, достаточно убрать параметр "symbol" из вызова функции Embed.

[Embed(source = '../lib/library.swf')] private var SymbolClass:Class;



Font

Класс шрифта можно собрать из системного шрифта и из пользовательского .ttf-файла.

Из системного шрифта. 
Для этого директория "lib" нам не понадобиться. В документе .as-файла пишем:

[Embed(systemFont = 'Tahoma', fontName = 'TestFont', mimeType='application/x-font')] private var FontClass:Class;

Параметры функции Embed:
  • systemFont - Имя системного шрифта
  • fontName - Имя нового класса шрифта
  • fontStyle - Стиль шрифта. Возможные значения: "normal", "italic", "oblique"
  • fontWeight - Толщина шрифта. Возможные значения: "normal", "bold", "heavy"
  • advancedAntiAliasing - Сглаживание шрифта 
  • mimeType - Тип файла. Нужно обязательно указать "application/x-font"
Из .ttf-файла.
Также как добавляли символ, добавим в директорию "lib" нужный нам .ttf-файл. Кликаем на нем правой кнопкой и выбираем "Insert Into Document"

[Embed(source='../lib/font.ttf', fontName = 'TestFont', mimeType='application/x-font-truetype')] private var FontClass:Class;

Параметры функции Embed:
  • source - Путь к .ttf-файлу
  • fontName - Имя нового класса шрифта
  • advancedAntiAliasing - Сглаживание шрифта 
  • mimeType - Тип файла. Нужно обязательно указать "application/x-font-truetype"
Использование шрифта:

var txt:TextField = new TextField();
txt.embedFonts = true;
txt.defaultTextFormat = new TextFormat("TestFont", 12, 0);
txt.text = "Text";
addChild(txt);


Sound

Также добавляем в директории "lib" .mp3-файл, также нажимаем "Insert Into Document"

[Embed(source = '../lib/sound.mp3')] private var SoundClass:Class;

Параметры функции Embed:
  • source - Путь к .mp3-файлу
  • mimeType - Тип файла. По умолчанию "audio/mpeg"
Пример использования:

var sou:Sound = new SoundClass();
sou.play();



Bitmap

Также добавляем в директории "lib" .png, .gif, или .jpg-файл, также нажимаем "Insert Into Document"

[Embed(source = '../lib/image.png')] private var BitmapClass:Class;

Параметры функции Embed:
  • source - Путь к файлу
  • mimeType - Тип файла. Возможные значения: "image/gif", "image/jpeg", "image/png"
Пример использования:

addChild(new BitmapClass());

Все вызовы функции Embed, должны стоять до вызова конструктора экземпляра, и обязательно с объявлением свойства, типа "Class" после вызова.

Хоть мы и объявляем ссылку на символ библиотеки типом "Class", при иcполнении конструктора экземпляра идет преобразование класса. Symbol преобразуется в flash.display.MovieClip, Font - flash.text.Font, Sound- flash.media.Sound, Bitmap - flash.display.Bitmap

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



Смотрите также:

вторник, 8 сентября 2009 г.

Создание AS3-приложения при помощи FlashDevelop

Статья рассказывает, как компилировать .swf-файлы и вести проекты на платформе FlashDevelop. Предполагается, что читатель знаком, хотя бы поверхностно, с языком ActionScript или другим объектно-ориентированным языком.

Создание проекта.
Для этого нам понадобиться уже установленный FlashDevelop
Открываем FlashDevelop, в верхнем меню выбираем "Project", далее "New Project...".















В появившемся окне выбираем "AS3 Project", в поле "Name" пишем имя проекта, в поле "Location" указываем директорию, поле "Package" оставляем пустым, ставим галочку "Create directory for project", для того чтобы создать одноименную директорию для проекта, жмем "OK".























Справа во вкладке "Project" вы увидите директорию вашего проекта. В нее входят директория "bin" с исполняемыми файлами (результирующим .swf-файлом и примером HTML-страницы с Javascript-объвязкой), "lib" - библиотека проекта и "src" - директория c исходными кодами.














По умолчанию в директорию "src" входит файл "Main.as". Иконка файла в левом нижнем углу помечена зеленой стрелкой вниз. Это означает, что этот класс является родительным классом всего приложения. Компиляция .swf начнется именно с него. Нажав правой кнопкой на этом файле, затем выбрав пункт "Always Compile" в выпадающем меню, можно снять эту отметку, и поставить ее на другой файл.


























Теперь чтобы скомпилировать .swf, нужно: во-первых: чтобы был выбран родительский класс, во-вторых: нажать кнопку "Build Project". В директории "bin" появится результирующий .swf-файл. В моем случае это "Test.swf".









Для просмотра того, что получилось, нужно нажать "Test Movie". При выполнении этой команды, команда "Build Project" выполняется автоматически. В результате мы увидем окно с нашим приложением. Оно пустое.



















Для того чтобы, что-то увидеть, нужно написать нужный нам код. Два раза щелкаем на "Main.as" во вкладке "Project" справа, и пишем туда следующее:

/**
 * ...
 * @author Farid Shamsutdinov
 */
package 
{
  import flash.display.Sprite;
  import flash.events.Event;
  import flash.text.TextField;
  import flash.text.TextFieldAutoSize;
  import flash.text.TextFormat;
  //
  public class Main extends Sprite 
  {
    public function Main():void 
    {
      if (stage) init();
      else addEventListener(Event.ADDED_TO_STAGE, init);
    }
    //
    private function init(e:Event = null):void 
    {
      var txt:TextField;
      //
      removeEventListener(Event.ADDED_TO_STAGE, init);
      //
      txt = new TextField();
      txt.x = 10;
      txt.y = 10;
      txt.autoSize = TextFieldAutoSize.LEFT;
      txt.defaultTextFormat = new TextFormat("Tahoma", 12, 0);
      txt.text = "My First Apllication";
      addChild(txt);
    }
  }
}


Результат:















Настройка проекта.

Идем в верхнее меню "Project" выбираем "Properties...".















Здесь мы можем много чего настроить, но я расскажу только о том, что пригодится для начала. А именно: размеры приложения "Dimensions", цвет фона "Background Color", и частота кадров "Framerate"


























Также здесь можно добавить ссылку на дополнительную директорию с классами "ClassPath". Для этого идем на вкладку "Classpaths", жмем кнопку "Add Claspath...". После добавления этот пакет появиться во вкладке "Project".












Вот и все.

Создать что-то более серьезнее, чем "My First Application" мы попытаемся в следующих постах.

понедельник, 7 сентября 2009 г.

FlashDevelop: установка и настройка

FlashDevelop - это свободная среда разработки и прекрасный редактор кода, с подсветкой синтаксиса, автоподсказками и прочими удобствами разработки, причем не только для AS3-кода, на котором нам придется писать наши приложения, но и AS2, HTML, CSS, XML и другие. Для установки FlashDevelop  требуется Microsoft .NET Framework, а для компиляции AS3-приложений  Adobe Flex SDK, для AS2-приложений - бесплатный встроенный компилятор MTASC. Остальные возможности FlashDevelop мы опустим, и поговорим о них по мере надобности. Одним словом FlashDevelop - это незаменимый инструмент Flash-разработчика, попробовав который, не слезешь с него никогда.

1. Качаем на официальных сайтах необходимые дистрибутивы последних версий:




2. Ставим Microsoft .NET Framework 3.0:
Запускаем скачанный файл dotnetfx3setup.exe, нажимаем "Выполнить"





3. Ставим Adobe Flex SDK
Для этого необходимо распаковать скачанный архив flex_sdk_3.4.zip в любую директорию на диске С. У меня например, этот архив распакован в директории C:\Program Files\Adobe\Flex Builder 3\sdks\3.4.0

4. И наконец. Ставим FlashDevelop.
Запускаем скачанный файл FlashDevelop-3.0.3-RTM.exe 


















5. Настройка FlashDevelop


После установки FlashDevelop ему нужно указать путь к Flex SDK, т.к. компилируются .swf именно при помощи него. Для этого открываем FlashDevelop в верхнем меню выбираем "Tools" далее "Program Settings...".


















В открывшемся окне слева выбираем "AS3Context", справа находим "Flex SDK Location", и прописываем путь туда, куда мы распаковали Flex SDK
















Теперь среда разработки flash-приложений готова к работе. В следующем посте я обязательно напишу, как с ней работать на примере.

Дополнительная информация:
И еще
Огромное спасибо Mika Palmu и Phillippe Elsass.

Смотрите также:

Об авторе

Наконец-то, я завел свой блог. Здравствуйте! :)

Меня зовут Фарид Шамсутдинов (далее AS3Coder), живу и работаю в Казани.

С 2004 познакомился с Macromedia Flash MX... За 5 лет кое-что накопилось, о чем я хочу поговорить, что-то рассказать, где-то чем-то помочь или попросить помощи.

Для связи as3coder@gmail.com



Поиск по блогу

Обо мне



Farid Shamsutdinov (AS3Coder)
Russia, Tatarstan, Kazan
as3coder@gmail.com

Подробнее...

Постоянные читатели

© 2014 Farid Shamsutdinov. При копировании материалов, ссылка на источник обязательна. Технологии Blogger.