Отправляет email-рассылки с помощью сервиса Sendsay

Flash MX от А до Я

  Все выпуски  

Создание игр на Flash MX


Информационный Канал Subscribe.Ru

Рассылка: "Создание игр на Flash MX" (Синяя)
Для тех, кто подписался недавно, рекомендуется прочитать FAQ

 

Доброго времени суток уважаемые подписчики. Сегодня в номере:

О рассылке
Пишем загрузчик на FLASH MX
Полезные советы
Вопросы наших читателей
Задать вопрос
Поддержка или об авторах

 

О рассылке

 

Уважаемые подписчики, данная рассылка посвящана программированию игр на FLASH и усему что с этим связанно. Наша рассылка выходит в двух видах, "синяя" и "серебрянная". За "серебрянную" рассылку полную отвественность несет создатель сей рассылки, Mite , а за "синию" я, VDragon.

Теперь немного о "СИНЕЙ" рассылке.

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

Также хочу сказать о технической части, так как я не хочу отставать от жизни, то я использую Flash MX, а вы можете использовать более раннею версию данного продукта. Между ними есть некоторые небольшие различия по большей мере в комбинациях клавиш и интерфейсе, но есть и отличия в Active Script, поэтому если у вас что-то не получиться, то установите MX, это сможет решить некоторые проблемы.

Наверх

 

Пишем загрузчик на FLASH MX

 

Автор: VDragon
Internet: http://v2studia.narod.ru
EMail: vdragon@mail.ru

FLASH так или иначе ориентирован на Internet а созданные творения зачастую весят больше 200Кб. По этому для корректной загрузки такого шедевра нам нужен загрузчик, который сначала загрузит файл на компьютер пользователя, а потом уже начнется основное действие. Так что начнем.

Если у Вас есть уже готовый клип, куда вы хотите вставить загрузчик, то Вам нужно открыть панель Scene (Window\Scene, Shift+F2) и создать новую сцену. Новую сцену поставить перед сценами, в которых находиться ваше творение, а тоесть в самое начало. Для порядка можно переименовать сцену в "Loader".

Теперь создаем два пустых ключевых кадра, первый и второй, делаем это выделив первый кадр и нажав F6 (Insert\KeyFrame). Устанавливаем второй кадр. Открываем редактор панель Action (Window\Action, F9) и пишем такой код:

if ( getBytesLoaded() != getBytesTotal() ){
gotoandplay(1);
}

Теперь клип не будет перескакивать на первый кадр, пока не загрузятся все данные. Делается это благодаря методам объекта moveclip - getBytesLoaded() и getBytesTotal()

getBytesLoaded() - возвращает количество загруженных байт для MoveClip
getBytesTotal() - возвращает размер MoveClip

А полностью условие гласит, пока число загруженных байтов не равно размеру клипа, показывай первый кадр. Что с успехом и выполняется. Так как getBytesLoaded() и getBytesTotal() являются методами объекта MovieClip, то правельнее было бы указать _root. getBytesLoaded() и _root.getBytesTotal(), но так, как наша сцена является не дочерним мувиклипом а родительским (во сказал :) ) то _root можно и не указывать, но если вы поместите объект в объект формата MoveClip, то вам придется указать _root, или значения будут возвращаться только для этого объекта.

Теперь украсим наш загрузчик полезной информацией, для этого добавляем еще один слой (Insert\Layer) и рисуем на нем текстовое поле формата Dynamic Text. В поле VAR указываем имя "Loaded", имя может быть и другим, но в следующем примере мы будем обращаться именно к этому имени.

Выделяем первый кад слоя, кде у нас размещен загрузчик, и в редакторе Actions вставляем следующий код :

loaded="Загруженно "+getBytesLoaded()+" Bt";

Теперь при загрузке файла, в поле Loaded будет отображаться количество загруженных байт, но для красоты лучше выводить это значение не в байтах а в килобайтах, для этого нужно просто значение getBytesLoaded() разделить на 1024. Наша строка теперь будет выглядеть так.

loaded=" Загруженно "+math.round(getBytesLoaded()/1024)+" Kb";

Math.round() округлит наш результат до целого значения.

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

totalsize="Итого: "+math.round(getBytesTotal()/1024)+" Kb";

Как видите изменилось немного. Ну чтож, теперь кульминация всего, вывод значения загрузки в процентах. Делается это довольно просто. Число загруженных байт мы делим на размер файла в байтах и умножаем на 100. Для наглядности опять дублируем нашу строку, и в разделе var задаем имя procent, ну и добавляем наш код.

procent="Процент : "+math.round(getBytesLoaded()/getBytesTotal()*100)+" %";

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

Наверх

 

Полезные советы

 

Почаще сохраняйте ваше детище, а то не дай бог что. Для этого вы может воспользоваться горячей кнопкой Ctrl+S. или Ctrl+Shift+S для сохранения в новый файл.

Для создания нового файла не обязательно лезть в меню, File\New, можно просто нажать Ctrl+N а для того чтобы открыть файл можно нажать Ctrl+O.

Если вы чтото нетак нарисвали то можно нажать Ctrl+Z для того чтобы отменить ваше действие, но если вы вдруг передумали, то жмите Ctrl+Y, чтобы востановить отмененное действие.

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

Наверх

 

Вопросы наших читателей

Q : А раскажите как можно создать фотоальбом с множеством директорий и комментарии к каждой фотке. Например: мои друзья, моя жизнь, день рожденье. И пожайлуста все таки делай те скидку и объясняйте подробней среди вас есть и новички в этом деле.))))

A (VDragon) : Хм, есть несколько способов сделать фотоальбом, но так как вы начинающий программист предложу не оптимальный но давольно простой метод. Для каждой фотографии создается свой кадр, куда и переходит программа при нажатии ссылки указывающей на эту фотографию. В этом кадре делаем описание и размещаем саму фотографию, на первом кадре
делаем кнопочки с переходом на кадры соотвествующие фотографии и на первом кадре останавливаем показ видео (Stop())..

Для каждойкнопки делаем что-то вроде

on (release) {
gotoAndStop(3);
}

На каждом кадре непомешала бы кнопка возвращения на первый кадр и пара кнопок перехода на соседний кадр.


Наверх

 

Задать вопрос

 

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

Mite ("серебрянная рассылка") : mitemail@mail.ru
VDragon ("синяя рассылка") : vdragon@mail.ru

Наверх

 

Поддержка или об авторах

 

Авторы:

"Серебрянная рассылка"

Mite.
http://mite.by.ru/
mailto:mitemail@mail.ru
ICQ 168070919

"Синяя рассылка"

VDragon
http://v2studia.narod.ru
mailto:vdragon@mail.ru

Наверх

 

Для тех, кто подписался недавно, рекомендуется прочитать FAQ
Рассылка: "Создание игр на Flash MX"


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное