Все выпуски  

Выпуск №14


Macromedia Flash: всё что вы хотите о нём знать
НОВОСТИ, СТАТЬИ, УРОКИ, СОФТ-ОБЗОРЫ, FLASH В ВОПРОСАХ И ОТВЕТАХ
28 Ноября 2006 ВЫПУСК 14

Оглавление

» Колонка редактора: MustLive
» Новости из мира flash
» Создание самостоятельной программы во Flash
» Принципы создания динамических меню во Flash (Часть вторая)
» Flash в вопросах и ответах
» Post Scriptum

САЙТ РАССЫЛКИ FLASHZONE.RU

Cайт посвящён Macromedia Flash. На Flash Zone в изобилии можно прочитать статьи и уроки по флешу, скачать исходники и программы для работы с flash. Помимо качественного наполнения, на нашем портале Вы можете найти небольшой, но «уютный» flash форум для общения и обмена опытом!

САЙТ АВТОРА MLFUN.ORG.UA

Коллекции приколов: прикольные картинки, Flashки, мультики Joe Cartoon, Flash-игры, Flash-мультфильмы, шоквэйвы, прикольные программы, аудио файлы, музыка, видео и другие прикольные файлы.

САЙТ АВТОРА DANIMULT.RU

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


Колонка редактора: MustLive

Здравствуйте дорогие читатели.

В этом выпуске нашей рассылки мы подготовили для вас много интересной информации.

В номере из новостей вы узнаете о том, что Shockwave запускает рекламу, о программах для дизайнеров от Microsoft, о выполнении произвольного кода в Flash Player, об агрегаторе русскоязычных блогов о flash и о новой версии программы KoolMoves 5.4.2. Вашему внимание полезная статья: Создание самостоятельной программы во Flash. А в разделе "Flash в вопросах и ответах" я расскажу о программном рисовании, о центрировании мувиклипов и о занесении в массив данных из файла.


Новости из мира flash

Adobe подарила Mozilla исходники языка ActionScript
http://www.habrahabr.ru/lenta/1453/

Корпорация Adobe Systems открыла исходный код языка сценариев, используемого Flash Player, для компании Mozilla - разработчика браузера Firefox. Это позволит разработчикам бесплатных веб-приложений создавать приложения в стиле Web 2.0, обладающие совместимостью с Firefox.

Язык ActionScript базируется на стандарте ECMAScript, который также используется в языке Microsoft JScript. Mozilla же собирается включить его в свой новый проект Tamarin, предназначенный для веб-разработчиков, сообщает iTWire. По словам представителей Adobe, язык ActionScript обладает рядом преимуществ по сравнению с Jscript.

Добавил: MaxQ.

Выполнение произвольного кода в Flash Player
http://www.securitylab.ru/vulnerability/263895.php

Уязвимость позволяет удаленному пользователю выполнить произвольный код на целевой системе.

Множественные уязвимости обнаружены при обработке SWF файлов в Flash Player. Удаленный пользователь может скомпрометировать уязвимую систему. Подробности уязвимости не сообщаются.

Уязвимы программы: Macromedia Breeze 4.x, Macromedia Breeze 5.x, Macromedia Breeze Meeting Add-In, Macromedia Flash 8.x, Macromedia Flash MX 2004, Macromedia Flash MX Professional 2004, Macromedia Flash Player 7.x, Macromedia Flash Player 8.x, Macromedia Flex 1.x, Shockwave Player 10.x.

Рекомендую установить последнюю версию с сайта производителя.

Добавил: MustLive.

Агрегатор русскоязычных блогов о flash
http://ru-flashblogs.livejournal.com/

Открылся агрегатор русскоязычных флеш-блогов.
ru_flash blogs - агрегатор руссскоязычных блогов о flash
Подборка интересных новостей из различных флеш-блогов.

Добавил: MustLive.

KoolMoves 5.4.2: веб-анимация для сайта
http://www.3dnews.ru/software-news/koolmoves_5_4_2_veb_animatsiya_dlya_saita-165472/

Обновилась программа для создания web-анимации, с использованием инструментов для работы с Flash и анимированными *.gif файлами. Программа может применять различные эффекты к тексту, импортировать векторную графику, добавлять аудио в формате *.wav, осуществлять градиентную заливку созданной кривой, присваивать различные действия кнопкам и изображениям. Благодаря тому, что с KoolMoves работать очень просто, даже не имея навыков работы с Flash, вы сможете создавать превосходные ролики, которые могут быть применены в качестве баннеров, при создании мультимедийного слайд-шоу, создании системы навигации по сайту и т. д.

Скачать: http://koolmoves.fileburst.com/kmsetup.exe

Добавил: MustLive.

Программы для дизайнеров от Microsoft
http://3dnews.ru/software-news/programmi_dlya_dizainerov_ot_microsoft-101095/

Корпорация Microsoft предлагает всем желающим скачать предварительный релиз своих новых программ Expression Interactive Designer и Expression Graphic Designer для работы с графикой. Программы, известные ранее как Sparkle и Acrylic, теперь доступны для скачивания. Первая из них предназначена для разработки пользовательского интерфейса и верстки веб-страниц и Windows-приложений, а вторая позиционируется как конкурент Photoshop. Как заявляет сама Microsoft, целью этого пакета является упрощение взаимодействия между разработчиками приложений, которые пишет код, и дизайнерами, которые создают графические элементы интерфейса.

Microsoft говорит о том, что программам еще далеко до финального релиза и что позднее в них будут добавлены новые опции.

Добавил: MustLive.

Shockwave запускает рекламу
http://3dnews.ru/software-news/shockwave_zapuskaet_reklamu-67538/

Shockwave.com начала программу по внедрению рекламы в свои игры, пригласив в качестве партнёров SBC Communications, Intel и Microsoft Game Studios. Начнётся повсеместная экспансия знаменитых фирм с игры Switch Wakeboarding — трёхмерной аркады, которой удалось привлечь более 20 миллионов пользователей в прошлом месяце. Теперь не только перед запуском Switch Wakeboarding игрокам придётся вытерпеть короткую десятисекундную рекламу, но и в самой игре их будут мучить разнообразные упоминания знаменитых брендов! Компания Shockwave, услугами которой пользуются очень широкие слои населения, даёт своим рекламодателям совершенно уникальную возможность донести нужную информацию до нужных людей. Осталось только выяснить насколько это выгодно самим рекламодателям.

Добавил: MustLive.

Создание самостоятельной программы во Flash

Если вы разработали собственную бизнес программу, презентацию или игру на флеше, а возможности флеша (особенно последних версий) позволяют сделать это, или например обучающую программу, скрин сейвер, оболочку для CD или например видео-туториал для своей программной системы, то у вас может появится необходимость в дальнейшем распространении данной разработки.

И если в случае флешки на сайте всё понятно (для этого используется плагин браузера), это распространённый вид использования флеш, то в данном случае возможен другой вариант - это создание отдельного программного модуля. В данном случае не понадобится ни плагин к браузеру ни отдельный плеер - так как флеш плеер поставляется вместе с самой флешкой. И в том случае, если вы хотите сделать из флешки exe-файл, то редактор Flash предоставит вам необходимый функционал.

Для создания exe проекта из вашей флешки необходимо воспользоваться функцией публикации во флеш редакторе - где можно выбрать во что экспортировать (публиковать) флешку. В том числе и в ехе.

Меню File->Publish Settings->Windows Projector (.exe)

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

fscommand("showmenu", "false");

Данный вариант не самый лучший - он не убирает меню полностью. Но он наиболее простой в применении. И это единственный доступный непосредственно в самом редакторе вариант (через fscommand).

В различных версиях флеша, результат немного отличался - в меню оставалось разное количество команд. К примеру в 6/MX добавили "Settings", с тех пор они там всё время и остаются, ну и "About", а до 6й версии всё было гораздо лучше (и этот трюк себя полностью оправдывал).

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

Если же это критично (меню мешает) и нужно сделать полноценный ехе-шник, то вместо программ от Макромедии (Адоб) нужно воспользоваться специальными утилитами, которые могут убирать меню полностью (это возможно только относительно ехе проектов).

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

Можно пойти ещё дальше.

После SwiffCANVAS (Juglor или другой программы), который преобразует флешку в полноценную программу, с помощью ResHacker (или по желанию Restorator или другими редакторами ресурсов) можно иконку подправить и произвести другие настройки exe проекта. С тем же меню также можно разобраться.

Можно и всю работу по улучшению exe проекта, сделанного во флеш редакторе, провести в ResHacker (или другом редакторе ресурсов), всё зависит от предпочтений. Замечу лишь, что утилиты для работы с флешем более удобны. SwiffCANVAS и прочие подобные утилиты имеют большие возможности и функционал (для работы с флешем), чем какие-либо редакторы ресурсов. Поэтому по большому счёту всё работу можно и нужно делать в SwiffCANVAS и подобных программах. И лишь некоторые завершающие штрихи можно сделать в редакторе ресурсов.

Автор: MustLive.

Принципы создания динамических меню во Flash (Часть вторая)

И так кто разобрался с первой переходим ко второй части. Здесь разберём создание "Резиновых Flash меню", которые собственно смогут тянуться в зависимости от размера экрана. Разберём два примера создания таких меню:

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

<menu><item name="Item 1" link="http://www.flashblog.ru" color="0x006699" />
<item name="Item 2" link="http://www.flashblog.ru" color="0x996600" />
<item name="Item 3" link="http://www.flashblog.ru" color="0x00CC33" />
<item name="Item 4" link="http://www.flashblog.ru" color="0x99FFFF" />
<item name="Item 5" link="http://www.flashblog.ru" color="0x990000" />
<item name="Item 6" link="http://www.flashblog.ru" color="0xFFCC00" />

<item name="Item 7" link="http://www.flashblog.ru" color="0x996699" /></menu>

Дальше создаём новый файл, сохраняем рядом с нашим xml и пишем в первом кадре код:

menu_xml = new XML();
menu_xml.ignoreWhite = true;
menu_xml.onLoad = function(ok) {
if (ok) {
F_createMenu();
}
};
menu_xml.load("menu.xml");
F_createMenu = function () {
len = menu_xml.childNodes[0].childNodes.length;
for (var i = 0; i<len; i++) {
_root.createEmptyMovieClip("btn"+i, i);
var b = _root["btn"+i];
b.attachMovie("back", "back", 1);
b.createTextField("tf", 2, 0, 0, 200, 20);
with (b.tf) {
border = true;
multiline = false;
autoSize = true;
selectable = false;
text = menu_xml.childNodes[0].childNodes[i].attributes.name;
}
b.back._width = Stage.width/len;
b.tf._x = (b.back._width-b.tf._width)/2;
b._x = b._width*i;
b.link = menu_xml.childNodes[0].childNodes[i].attributes.link;
var my_color = new Color(b.back);
my_color.setRGB(menu_xml.childNodes[0].childNodes[i].attributes.color);
b.onPress = function() {
getURL(this.link, "_self");
};
}
};
Stage.scaleMode = "noScale";
Stage.align = "TL";
onResize = function () {
if (Stage.width>=900) {
for (var i = 0; i<len; i++) {
var b = _root["btn"+i];
b._x = Stage.width/len*i;
b.back._width = Stage.width/len;
b.tf._x = (b.back._width-b.tf._width)/2;
}
}
};
Stage.addListener(this);

Второй , когда ширина кнопок будет зависить от длинны текста. XML берём опять тот же и создав новый файл пишем код в первом кадре:

menu_xml = new XML();
menu_xml.ignoreWhite = true;
menu_xml.onLoad = function(ok) {
if (ok) {
F_createMenu();
}
};
menu_xml.load("menu.xml");
F_createMenu = function () {
len = menu_xml.childNodes[0].childNodes.length;
for (var i = 0; i<len; i++) {
_root.createEmptyMovieClip("btn"+i, i);
var b = _root["btn"+i];
b.attachMovie("back", "back", 1);
b.createTextField("tf", 2, 0, 0, 200, 20);
with (b.tf) {
border = true;
multiline = false;
autoSize = true;
selectable = false;
text = menu_xml.childNodes[0].childNodes[i].attributes.name;
}
b.link = menu_xml.childNodes[0].childNodes[i].attributes.link;
var my_color = new Color(b.back);
my_color.setRGB(menu_xml.childNodes[0].childNodes[i].attributes.color);
b.onPress = function() {
getURL(this.link, "_self");
};
if (i == len-1) {
F_detectButtonPosition();
}
}
};
//
F_detectButtonPosition = function () {
var buttons_tf_width = 0;
for (var i = 0; i<len; i++) {
var b = _root["btn"+i];
buttons_tf_width += b.tf._width;
if (i == len-1) {
for (var j = 0; j

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

Скачать Flash исходник к уроку

Урок опубликован с разрешения автора — KUZEN.


Flash в вопросах и ответах


Вопрос:

Насчёт программного рисования. Если я рисую прямую отрезками, то как её остановить?
sart

Ответ:

Если вы решили отрезками делать, то тогда создавайте отдельные мувиклипы для каждого отрезка. Вначале нарисовали от точки 100, 100 и до 200, 200. А потом другой отрезок, допустим с 100,200 до 200,200, в отдельном мувике и т.д.

_root.createEmptyMovieClip("clip1", 1);
clip1.lineStyle(2, 0x0, 100);
clip1.moveTo(100, 100);
clip1.lineTo(200, 200);
_root.createEmptyMovieClip("clip2", 2);
clip2.lineStyle(2, 0x0, 100);
clip2.moveTo(100, 200);
clip2.lineTo(200, 200);

Хотя при этом никто не мешает сдвигать позицию, чтобы отрезками рисовать.

Идентичный результат получим следующим кодом:

_root.createEmptyMovieClip("clip1", 1);
clip1.lineStyle(2, 0x0, 100);
clip1.moveTo(100, 100);
clip1.lineTo(200, 200);
clip1.moveTo(100, 200);
clip1.lineTo(200, 200);
MustLive

Вопрос:

Мне нужно просто создать мувик и потом заставить его двигаться. И при этом я могу в режиме редактирования установить центр мувика. Но у меня мувик создается программно (во время работы приложения). Как мне в этом случае его отцентрировать?
missouri

Ответ:

Помимо установки центра в режиме редактирования, ещё центр объекта (который также носит имя "точка регистрации" и "точка центра") можно задать при создании мувиклипа или другого объекта. Только в ручном режиме, когда создаётся новый объект или на основе текущего выделения.

Программно же, с помощью Action Script, изменить центр возможности не имеется. По крайней мере для флеша версии МХ включительно мне такие возможности не ведомы. В этом случае люди учитывают центр при работе с объектами.

При создании объектов возможны два случая: 1) "центр" в центре, и 2) "центр" в левом верхнем углу.

Для обоих случаев программно учитывается и располагается объект необходимым образом на экране. При этом при использовании moveTo и lineTo следует помнить, что данными методами учитываются "центры" объектов, к которым они применяются.

Т.е. с учётом "центра" сдвигается объект таким образом, чтобы он располагался в нужном месте экрана. И с учётом последующих moveTo и lineTo и других объектов.

При этом приходится иметь дело с двумя вариантами первоначального расположения "центра". Чтобы избавится от данной мороки возможно использовать метод getBounds.

Например чтобы расположить два клипа clip и clip2 бок о бок, необходимо:

clipBounds = clip.getBounds(_root);
clip2._x = clipBounds.xMax;
MustLive

Вопрос:

Мне нужно считать данные из файла. Так как у меня в скрипте используется массив (произвольной длинны), то мне нужно прочитать и занести в него данные из файла. Как это сделать?
luckyman

Ответ:

Для этого используйте следующий код:

var loadinfo:LoadVars = new LoadVars();
loadinfo.load("info.txt");
loadinfo.onLoad = function() {
    var xA:Array = loadinfo.x.split(",");
    var yA:Array = loadinfo.y.split(",");
   
};

Пример файла info.txt:

x=125,325,375,150&y=110,330,350,175
MustLive

Вопрос можно задать на форуме в отдельном разделе или по e-mail: subscribe@flashzone.ru.

Post Scriptum

Все материалы этого выпуска авторские. Перепечатка разрешается только со ссылкой на автора и flashzone.ru.

Задать вопрос в раздел "Flash в вопросах и ответах" можно на форуме, либо по e-mail subscribe@flashzone.ru.

Авторы, мы ждём ваших статей!

По вопросам сотрудничества обращаться на e-mail max@flashzone.ru.
Принимаем заявки на обмен обзорами, текстовыми рекламными блоками, простыми текстовыми ссылками с сайтами и рассылками flash тематик.

Сайт рассылки: flashzone.ru.
Сайты авторов: danimult.ru (Даниэль), mlfun.org.ua (MustLive).




В избранное