<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Уроки веб дизайна</title>
<link>http://simplesites4less.com/</link>
<language>ru</language>
<description>Уроки веб дизайна</description>
<generator>DataLife Engine</generator><item>
<title>Flash урок: Drag and Drop в Actionscript 3.0
</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/835-flash-urok-drag-and-drop-v-actionscript-3.0.html</guid>
<link>http://simplesites4less.com/l-uroki/835-flash-urok-drag-and-drop-v-actionscript-3.0.html</link>
<description><![CDATA[<img style="border: 0pt none;" src="http://simplesites4less.com/images/1276961622_drag_drop_as3.jpg" alt="Flash уроки" />
<p>&nbsp;</p><a href="http://wc10.ru/sdo/"><strong>События до ЧМ 2010</strong> сдесь wc10.ru</a>
<p>В этом&nbsp; <strong>flash yроке</strong> будет рассматриваться функциональная реализация <strong>Drug</strong><strong>and</strong><strong>Drop</strong> в <strong>Actionscript 3.0</strong>. Вы можете c помощью метода <strong>drug&amp;</strong><strong>drop</strong> перетаскивать картинки с одного места в другое, класть товары в тележку интернет-магазина,&nbsp; сортировать объекты в определенном&nbsp; порядке и т.п. В этом текстовом&nbsp; <strong>flash уроке</strong>, я покажу Вам, как можно создать приложение, в котором &nbsp;каждую из трех различных фигур можно перетаскивать только в её соответствующее место.</p>
<p style="text-align: center;">&nbsp;</p>
<!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1276962022_figures.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1276962022_figures.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1276962022_figures.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end-->
<br />
<p>&nbsp;</p>
<p>Как это реализовано:</p>
<p><strong>1.</strong> Создайте 3 небольших фигуры, и поместите каждую в отдельный Movie Clip. Дайте каждому Movie Clip имя (instance name в свойствах объекта Movie clip). Я назвал их<strong></strong><em>item1</em>,<strong></strong><em>item2</em>,<strong></strong><em>item3</em>.</p>
<p>&nbsp;</p>
<p><strong>2.</strong> Теперь создайте пустой Movie Clip, сочетанием клавиш Ctrl+F8 (дайте ему в свойствах instance name - <strong><em>bin</em></strong><strong><em>1</em></strong>). Нарисуйте круг без контура (без stroke), и конвертируйте в Movie Clip. Дайте ему instance name <em>&ldquo;</em><em>shape&rdquo;</em> и разместите в координатах x=0 и y=0. Создайте новый слой, и нарисуйте там круг, с той же&nbsp; шириной и высотой что и предыдущий, но без заливки. Разместите его в тех же самых координатах.</p>
<p>&nbsp;</p>
<p><strong>3.</strong> Для треугольника и прямоугольника следуя инструкциям&nbsp; пункта №2, создайте два Movie Clip. (дайте имя каждому Movie Clip: прямоугольник - <em>bin2</em>, треугольник - <em>bin3</em>)</p>
<p>&nbsp;</p>
<p><strong>4.</strong> Создайте два динамических текстовых поля TextField (задайте instance name <em>itemName_txt</em> и <em>info_txt</em>), и поместите их в Movie clip (дайте instance name <em>ilabel</em>).</p>
<p>&nbsp;</p>
<p><strong>5.</strong> Заключительный этап: &nbsp;скопируйте следующий <strong>actionscript</strong> код во вкладку Actions (F9).</p>
<p>&nbsp;</p>
<pre><!--code1--><!--ecode1--><pre name="code" class="php">
item1.objName = "circle";
item1.initX = item1.x;
item1.initY = item1.y;
item1.val = 0;
item2.objName = "rectangle";
item2.initX = item2.x;
item2.initY = item2.y;
item2.val = 0;
item3.objName = "triangle";
item3.initX = item3.x;
item3.initY = item3.y;
item3.val = 0;
bin1.shape.alpha = 0;
bin2.shape.alpha = 0;
bin3.shape.alpha = 0;
item1.buttonMode = true;
item2.buttonMode = true;
item3.buttonMode = true;
item1.addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
item1.addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
item2.addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
item2.addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
item3.addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
item3.addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
//Mouse Events
function mousePress(event:MouseEvent):void {
var item:MovieClip = MovieClip(event.target);
item.startDrag();
item.scaleX = item.scaleY = .95;
var topPos:uint = this.numChildren - 1;
this.setChildIndex(item, topPos);
ilabel.itemName_txt.text = item.objName;
}
function mouseRelease(event:MouseEvent):void {
var item:MovieClip = MovieClip(event.target);
item.stopDrag();
switch (item.objName) {
case "circle" :
if (bin1.hitTestObject(item)) {
updateShape(item, bin1);
} else {
ilabel.info_txt.text ="WRONG!";
item.scaleX = item.scaleY = 1;
}
break;
case "rectangle" :
if (bin2.hitTestObject(item)) {
updateShape(item, bin2);
} else {
ilabel.info_txt.text ="WRONG!";
item.scaleX = item.scaleY = 1;
}
break;
case "triangle" :
if (bin3.hitTestObject(item)) {
updateShape(item, bin3);
} else {
ilabel.info_txt.text ="WRONG!";
item.scaleX = item.scaleY = 1;
}
break;
default :
; ;
}
}
function updateShape(item:MovieClip, bin:MovieClip):void {
ilabel.itemName_txt.text = "";
item.scaleX = item.scaleY = 1;
item.visible = false;
ilabel.info_txt.text ="CORRECT!";
bin.shape.alpha = 1;
item.val = 1;
resetShapes();
}
function resetShapes() {
if ((item1.val == 1)&amp;&amp; (item2.val == 1) &amp;&amp; (item3.val == 1)) {
item1.x = item1.initX;
item1.y = item1.initY;
item2.x = item2.initX;
item2.y = item2.initY;
item3.x = item3.initX;
item3.y = item3.initY;
bin1.shape.alpha = 0;
bin2.shape.alpha = 0;
bin3.shape.alpha = 0;
item1.visible = true;
item2.visible = true;
item3.visible = true;
item1.val = 0;
item2.val = 0;
item3.val = 0;
}
}
</pre><!--code2--><!--ecode2--><br /></pre>
<p>&nbsp;</p>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Thu, 23 Feb 2012 07:30:41 +0300</pubDate>
</item><item>
<title>Работа с FLA
</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/840-rabota-s-fla.html</guid>
<link>http://simplesites4less.com/l-uroki/840-rabota-s-fla.html</link>
<description><![CDATA[<img src="http://simplesites4less.com/images/preview.gif" alt="Плохо, хорошо" /><br /> <br /> В этой статье я хочу поделиться несколькими правилами работы с  исходниками, которые были выведены на собственном опыте и при общении с  другими разработчиками. Для того, чтобы было проще понять и запомнить  правила, каждое снабжено картинкой и поясняющим комментарием к ней.  Правила не являются истиной в последней инстанции. Их можно не  соблюдать, но если вы хотите делать свою работу профессионально и не  получать гневные проклятия от тех, кому придется работать с вашими  исходниками, то рекомендую ознакомиться.<br /> <br /> Частично содержание данной статьи пересекается со статьей Валерии Маллаевой <a href="http://habrahabr.ru/blogs/Flash_Platform/40515/">О fla-исходниках</a>.<br /> <a name="habracut"></a><br /> <img src="http://simplesites4less.com/images/example.gif" alt="Плохо, хорошо" /><br /> <br /> <strong>1. Не используйте ключевые кадры без необходимости</strong><br /> <img src="http://simplesites4less.com/images/01.gif" alt="Не используйте ключевые кадры без необходимости" /><br /> Иногда можно увидеть, что у слоя, который не меняется на протяжении  всего ролика, последний кадр сделан ключевым, хотя, этот кадр ничем не  отличается от предыдущего. Чтобы внести изменения в слой, приходится  менять сразу несколько кадров. Если хотите продлить анимацию на  временной шкале, вставляйте просто кадр (клавиша F5).<br /> <br /> <strong>2. Не оставляйте незаполненные кадры</strong><br /> <img src="http://simplesites4less.com/images/02.gif" alt="Не оставляйте незаполненные кадры" /><br /> Заполняйте неиспользуемые кадры пустыми. Это убережёт от ошибок в анимации и неожиданных падений приложения.<br /> <br /> <strong>3. Перед тем, как применить к объекту Classic Tween или Motion Tween, преобразуйте его в MovieClip</strong><br /> <img src="http://simplesites4less.com/images/03.gif" alt="Перед тем, как применить к объекту Classic Tween или Motion Tween, преобразуйте его в MovieClip" /><br /> Если предварительно не преобразовывать объект, то при применении Classic  Tween по умолчанию в библиотеке создается Shape с названием &laquo;Tween n&raquo;. С  такими объектами жутко неудобно работать. В нижней части картинки по  названиям можно определить, что в библиотеке лежат воздушный шар,  облака, самолет и солнце. И сразу ясно, чем является каждый клип. По  верхней картинке это определить невозможно.<br /> <br /> <strong>4. Давайте объектам в библиотеке вменяемые названия</strong><br /> <img src="http://simplesites4less.com/images/04.gif" alt="Давайте объектам в библиотеке вменяемые названия" /><br /> Это тема для большого разговора, особенно, если идет работа над крупным  проектом. Мне приходилось видеть библиотеки с тысячей символов на одном  уровне с названиями, вроде, &laquo;asdfbvf&raquo; и &laquo;Символ 118&raquo;. Представляете, как  трудно искать нужный элемент в такой библиотеке. Пожалейте свои и чужие  нервы. Потратьте время на то, чтобы дать нормальное название. Поверьте,  оно окупится.<br /> <br /> <strong>5. Давайте имена слоям</strong><br /> <img src="http://simplesites4less.com/images/05.gif" alt="Давайте имена слоям" /><br /> Не обязательно переименовывать слои, если у вас их всего пара штук,  можно и так понять, что на них находится, просто посмотрев. Если слоев  много, то просматривать все слои становится затратно. Давайте имена,  чтобы не тратить время каждый раз, когда вы будете искать нужный элемент  на сцене.<br /> <br /> <strong>6. Удаляйте неиспользуемые объекты из библиотеки</strong><br /> <img src="http://simplesites4less.com/images/06.gif" alt="Удаляйте неиспользуемые объекты из библиотеки" /><br /> Иногда можно увидеть в библиотеке кучу недоделанной графики, которая  нигде не используется. Также, мало кто убирает из библиотеки  неиспользуемые картинки. Это мусор, его нужно удалять.<br /> <br /> <strong>7. Сортируйте объекты в библиотеке по папкам</strong><br /> <img src="http://simplesites4less.com/images/07.gif" alt="Сортируйте объекты в библиотеке по папкам" /><br /> Даже если вы дали понятные названия объектам, не всегда можно быстро  найти нужный, если их, например, больше 500, и они не отсортированы.  Перемещайте логически связанные элементы в отдельные папки. Кстати, при  таком подходе сразу станет видно, какие объекты в библиотеке не  используются.<br /> <br /> <strong>8. Добавляйте к проекту используемые шрифты</strong><br /> <img src="http://simplesites4less.com/images/08.gif" alt="Добавляйте к проекту используемые шрифты" /><br /> Очень раздражает, когда шрифт отсутствует в проекте, и его приходится просить или искать самому в интернете.<br /> <br /> <strong>9. Не создавайте новые сцены</strong><br /> <img src="http://simplesites4less.com/images/09.gif" alt="Не создавайте новые сцены" /><br /> Делайте все в одной. Сцены &ndash; наследие старых версий.<br /> <br /> <strong>10. Не используйте группировки</strong><br /> <img src="http://simplesites4less.com/images/10.gif" alt="Не используйте группировки" /><br /> Ими невозможно программно управлять. Они не сохраняются в библиотеке.  Если хочется объединить несколько символов, конвертируйте их в MovieClip  или Shape.<br /> <br /> <strong>11. Для кода в кадре создавайте отдельный слой</strong><br /> <img src="http://simplesites4less.com/images/11.gif" alt="Для кода в кадре создавайте отдельный слой" /><br /> Я не сторонник кода в кадре, но для написания небольших баннеров нет  резона выносить его в отдельный файл. Если пишете в кадре, то старайтесь  располагать весь код в одном месте на отдельном слое. На самом деле,  так писать даже удобнее, а уж читать, тем более.<br /> <br /> <strong>12. Не конвертируйте текст в кривые</strong><br /> <img src="http://simplesites4less.com/images/12.gif" alt="Не конвертируйте текст в кривые" /><br /> Честно говоря, не представляю, для чего и кто так делает. Возможно,  подобное происходит при импорте из других векторных редакторов. Не  делайте так, текст потом не отредактировать.<br /> <br /> Старайтесь делать изначально все аккуратно. За это те, кто будут  работать с вашим исходниками, да, и вы сами, вернувшись через некоторое  время к своей старой работе, скажут вам спасибо.
Статья взята с habrahabr.ru]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Wed, 22 Feb 2012 11:01:30 +0300</pubDate>
</item><item>
<title>Уроки Flash: Болванка для AS3 класса
</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/842-uroki-flash-bolvanka-dlya-as3-klassa.html</guid>
<link>http://simplesites4less.com/l-uroki/842-uroki-flash-bolvanka-dlya-as3-klassa.html</link>
<description><![CDATA[<p>В один прекрасный момент надоело мне при создании файлов с классами   каждый раз прописывать одно и то же&hellip; Поэтому решил я наконец этот   процесс автоматизировать.</p>
<p>Итак, для начала делаем болванку. Я написал вот такую:</p>
<p>&nbsp;</p>
<pre><!--code1--><!--ecode1--><pre name="code" class="php">package{
///////////////////////////////////////////////////////////////////////////////////////////////////
//	IMPORTS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
import flash.display.Sprite;
///////////////////////////////////////////////////////////////////////////////////////////////////
//	THE CLASS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
public class ClassName extends Sprite{
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PUBLIC STATIC CONSTANTS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PRIVATE STAITC CONSTANTS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PUBLIC CONSTANTS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PRIVATE CONSTANTS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PUBLIC VARS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PRIVATE VARS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	GETTERS/SETTERS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PUBLIC METHODS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//constructor
public function ClassName(){
 
super();
 
//nothing here yet
 
}//constructor
 
///////////////////////////////////////////////////////////////////////////////////////////////////
//	PRIVATE METHODS
///////////////////////////////////////////////////////////////////////////////////////////////////
 
//nothing here yet
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
}//class
 
///////////////////////////////////////////////////////////////////////////////////////////////////
 
}//package</pre><!--code2--><!--ecode2--><br /><br />Сохраняем файл, называем скажем Class.as и засовываем его в C:Documents and SettingsAll UsersШаблоны.<br /> <br /> После этого в реестре в разделе HKEY_CLASSES_ROOT.asShellNew создаём  строковый параметр FileName и присваиваем ему значение &laquo;Class.as&raquo; &mdash; имя,  которое мы дали файлу.<br /> <br /> Для ленивых: копипастим, сохраняем с расширением .reg, запускаем и соглашаемся со слиянием.<br /> <br /> <code>Windows Registry Editor Version 5.00<br /> <br /> [HKEY_CLASSES_ROOT.as]<br /> @="Flash.ActionScriptFile"<br /> <br /> [HKEY_CLASSES_ROOT.asShellNew]<br /> "FileName"="Class.as"<br /></code><br /> <br /> И всё! Теперь где угодно тыкаем правой кнопкой -&gt; создать -&gt; Flash  ActionScript File, и у нас вместо пустого файла появляется болванка с  заготовленным кодом.<br />Статья взята с <a href="habrahabr.ru">habrahabr.ru</a><br /></pre>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Wed, 22 Feb 2012 09:28:16 +0300</pubDate>
</item><item>
<title>Flash урок: Рисование линий, кривых и фигур в Actionscript 3</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/834-flash-urok-risovanie-liniy-krivyh-i-figur-v-actionscript-3.html</guid>
<link>http://simplesites4less.com/l-uroki/834-flash-urok-risovanie-liniy-krivyh-i-figur-v-actionscript-3.html</link>
<description><![CDATA[<p>В этом <strong>flash уроке</strong> вы научитесь рисовать линии кривые и фигуры программно, используя <strong>actionscript 3</strong></p><br /><p><strong>1.</strong>Создайте новый <strong>flash</strong> проект <strong>as3</strong>.<br /><br /><br /><strong>2.</strong> Для начала, нарисуем синюю линию, выберем первый кадр на линии времени и перейдем в панель actionsl (F9). Введем в панели actions следующий код:<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">var sp:Sprite = new Sprite();<br />addChild(sp);<br />var g:Graphics = sp.graphics;<br />g.lineStyle(3, 0x1c2fba);<br />g.moveTo(80, 100);<br />g.lineTo(420, 100);</pre>&lt;!--code2-->&lt;!--ecode2--><br /><br /></p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1276972381_1772251_img1.gif" alt="Flash урок" /><br /><br /><br /><br />После этого, нарисуем желтую и красную линии. Вставьте этот код в actions панель:<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">var sp:Sprite = new Sprite();<br />addChild(sp);<br />var g:Graphics = sp.graphics;<br />g.lineStyle(3, 0xfaf100);<br />g.moveTo(80, 80);<br />g.lineTo(420, 150); g.lineTo(400, 120);<br />g.lineTo(200, 120);<br />g.lineStyle(4, 0xFF0000);<br />g.moveTo(150, 175);<br />g.lineTo(400, 175);</pre>&lt;!--code2-->&lt;!--ecode2--><br /><br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1276972446_3472251_img2.gif" alt="Flash урок" /><br /><br /><br /><br /><br />Чтобы нарисовать кривую, введите следующий код в панели actions:<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">var sp:Sprite = new Sprite();<br />addChild(sp);<br />var g:Graphics = sp.graphics;<br />g.lineStyle(2, 0x467608);<br />g.moveTo(150, 100);<br />g.curveTo(275, 0, 400, 100);<br />g.moveTo(0, 0);</pre>&lt;!--code2-->&lt;!--ecode2--><br /><br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1276972474_07229_img3.gif" alt="Flash урок" /><br /><br /><br /><strong>Треугольник<br /><br /></strong>Введите код в панели actions:<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">var triangle:Sprite = new Sprite();<br />with (triangle.graphics) {<br />&nbsp;&nbsp;&nbsp; lineStyle(0);<br />&nbsp;&nbsp;&nbsp; beginFill(0x9e0fa3,1);<br />&nbsp;&nbsp;&nbsp; moveTo(50, 0);<br />&nbsp;&nbsp;&nbsp; lineTo(120, 120);<br />&nbsp;&nbsp;&nbsp; lineTo(0, 100);<br />&nbsp;&nbsp;&nbsp; lineTo(50, 0);<br />&nbsp;&nbsp;&nbsp; endFill(); }<br />triangle.x = 50;<br />triangle.y = 250;<br />addChild(triangle);</pre>&lt;!--code2-->&lt;!--ecode2--><br /><br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1276972497_497229_img4.gif" alt="Flash урок" /><br /><br /><br /><strong>Круг<br /><br /></strong>Введите код в панели actions:<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">var shapes:Sprite = new Sprite();<br />var gr:Graphics = shapes.graphics;<br />gr.lineStyle(4, 0x068843, .5);<br />gr.beginFill(0x330066, .2);<br />gr.drawCircle(50,50,50);<br />gr.endFill();<br />shapes.x = 150;<br />shapes.y = 250;<br />addChild(shapes);</pre>&lt;!--code2-->&lt;!--ecode2--><br /><br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1276972575_2472210_img5.gif" alt="Flash урок" /><br /><br /><br /><strong>Квадрат</strong><br /><p>&nbsp;</p><br /><p><strong><br /></strong>Введите код в панели actions:<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">var shapes:Sprite = new Sprite();<br />var gr:Graphics = shapes.graphics;<br />gr.lineStyle(4, 0x330066, .5);<br />gr.beginFill(0x330066, .2);<br />gr.drawRect(125,0,100,100);<br />gr.endFill(); shapes.x = 150;<br />shapes.y = 250;<br />addChild(shapes);</pre>&lt;!--code2-->&lt;!--ecode2--><br /><br /></p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1276972624_072211_img6.gif" alt="Flash урок" /><br /><br /><p>&nbsp;</p>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Wed, 22 Feb 2012 03:26:43 +0300</pubDate>
</item><item>
<title>Cравнение методов вставки flash: object, embed, SWFObject
</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/846-cravnenie-metodov-vstavki-flash-object-embed-swfobject.html</guid>
<link>http://simplesites4less.com/l-uroki/846-cravnenie-metodov-vstavki-flash-object-embed-swfobject.html</link>
<description><![CDATA[<p>Эта статья расскажет Вам о вставке <strong>flash</strong> на сайт. Поможет выбрать наилучший метод интеграции<strong> flash</strong>-контента&nbsp; расскажет о подводных камнях и тонкостях кроссбраузерной вставки <strong>flash</strong> в <strong>HTML-разметку</strong> страницы.</p>
<p>Как вставить флеш на сайт? Рассмотрим и сравним следующие методы вставки flash:</p>
<ul>
<li>Двусоставной метод вставки flash-ролика</li>
<li>Метод вложенных объектов</li>
<li>Метод Flash Satay</li>
<li>Внедрение с помощью SWFObject</li>
</ul>
<h2>Двусоставной метод вставки flash в HTML</h2>
Метод характеризуется использованием двух тегов: <strong>object</strong> &nbsp;и <strong>embed</strong>, с перечислением необходимых параметров и атрибутов.
<p><span style="text-decoration: underline;">Код для вставки flash:</span></p>
<pre><code class="html"><span class="tag">&lt;<span class="title"><span class="keyword">object</span></span> <span class="attribute">width</span>=<span class="value">"400"</span> <span class="attribute">height</span>=<span class="value">"160"</span> <span class="attribute">classid</span>=<span class="value">"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"</span> <br /><span class="attribute">codebase</span>=<span class="value">"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0"</span>&gt;</span><br /><span class="tag">&lt;<span class="title"><span class="keyword">object</span></span> <span class="attribute">width</span>=<span class="value">"400"</span> <span class="attribute">height</span>=<span class="value">"160"</span> <span class="attribute">type</span>=<span class="value">"application/x-shockwave-flash"</span> <span class="attribute">data</span>=<span class="value">"myContent.swf"</span>&gt;</span><br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"quality"</span> <span class="attribute">value</span>=<span class="value">"high"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"scale"</span> <span class="attribute">value</span>=<span class="value">"noborder"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"salign"</span> <span class="attribute">value</span>=<span class="value">"t"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"wmode"</span> <span class="attribute">value</span>=<span class="value">"opaque"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"src"</span> <span class="attribute">value</span>=<span class="value">"/banners/simply.swf"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"width"</span> <span class="attribute">value</span>=<span class="value">"400"</span> /&gt;</span><br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"height"</span> <span class="attribute">value</span>=<span class="value">"160"</span> /&gt;</span><br />	<span class="tag">&lt;<span class="title"><span class="keyword">embed</span></span> <span class="attribute">width</span>=<span class="value">"400"</span> <span class="attribute">height</span>=<span class="value">"160"</span> <span class="attribute">id</span>=<span class="value">"linebanner"</span> <span class="attribute">src</span>=<span class="value">"/banners/simply.swf"</span>&gt;</span> <span class="tag">&lt;/<span class="title"><span class="keyword">embed</span></span>&gt;</span> <br /><span class="tag">&lt;/<span class="title"><span class="keyword">object</span></span>&gt;</span></code></pre>
<p>Вставка flash на сайт двусоставным методом имеет свои очень весомые достоинства:</p>
<ul class="text4">
<li>Полная и бескомпромисная кроссбраузерность</li>
<li>Установка флеш плагина прямо у вас на сайте, это очень важно, тк Вы не теряете посетителя, а может быть и клиента!</li>
</ul>
<p>Из данного кода видны очевидные недостатки:</p>
<ul class="text2">
<li>Дублирование параметров</li>
<li>Невалидность тега embed</li>
<li>Иррациональность</li>
<li>Использование необходимых, но малопонятных&nbsp;параметров типа classid и codebase</li>
</ul>
<p>classid - при вставке flash это константа, всегда имеет значение  clsid:d27cdb6e-ae6d-11cf-96b8-444553540000, это значение указывает на  элемент ActiveX; <br />codabase - этот атрибут содержит ссылку на Flash-плеер, для установки плеера, если он отсутствует на компьютере пользователя;</p>
<br />
<p style="text-align: justify;">Стоит отметить, при публикации  флеш-ролика из программы Adobe Flash вставка swf-файла в HTML разметку  осуществляется именно двусоставным методом.</p>
<p style="text-align: justify;">Также в пользу этого метода говорит то,  что его используют во многих популярных визуальных редакторах (WISYWIG),  и как следствие, он используется во многих системах управления  сайтом(CMS), в том числе и коммерческих (например <strong>bitrix</strong>). Да и программы вёрстки тоже его используют (например <strong>Dreamweaver</strong>).</p>
<h2>Метод вложенных объектов</h2>
Метод характеризуется использованием двух тегов <strong>object</strong>, где один из них вложен в другой.

<p><span style="text-decoration: underline;">Код для вставки flash:</span></p>
<pre><code class="html"><span class="tag">&lt;<span class="title"><span class="keyword">object</span></span> <span class="attribute">width</span>=<span class="value">"400"</span> <span class="attribute">height</span>=<span class="value">"160"</span> <span class="attribute">classid</span>=<span class="value">"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"</span>&gt;</span><br />        <span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"movie"</span> <span class="attribute">value</span>=<span class="value">"/banners/simply.swf"</span> /&gt;</span><br /><br />        <span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"quality"</span> <span class="attribute">value</span>=<span class="value">"high"</span> /&gt;</span> 	<br />        <span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"scale"</span> <span class="attribute">value</span>=<span class="value">"noborder"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"salign"</span> <span class="attribute">value</span>=<span class="value">"t"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"wmode"</span> <span class="attribute">value</span>=<span class="value">"opaque"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"src"</span> <span class="attribute">value</span>=<span class="value">"/banners/simply.swf"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"width"</span> <span class="attribute">value</span>=<span class="value">"400"</span> /&gt;</span><br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"height"</span> <span class="attribute">value</span>=<span class="value">"160"</span> /&gt;</span><br />   <span class="comment">&lt;!--[if !IE]&gt;--&gt;</span><span class="tag">&lt;<span class="title"><span class="keyword">object</span></span> <span class="attribute">width</span>=<span class="value">"400"</span> <span class="attribute">height</span>=<span class="value">"160"</span> <span class="attribute">type</span>=<span class="value">"application/x-shockwave-flash"</span> <span class="attribute">data</span>=<span class="value">"myContent.swf"</span>&gt;</span><span class="comment">&lt;!--&lt;![endif]--&gt;</span>       <br />        <span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"quality"</span> <span class="attribute">value</span>=<span class="value">"high"</span> /&gt;</span> 	<br />        <span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"scale"</span> <span class="attribute">value</span>=<span class="value">"noborder"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"salign"</span> <span class="attribute">value</span>=<span class="value">"t"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"wmode"</span> <span class="attribute">value</span>=<span class="value">"opaque"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"src"</span> <span class="attribute">value</span>=<span class="value">"/banners/simply.swf"</span> /&gt;</span> <br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"width"</span> <span class="attribute">value</span>=<span class="value">"400"</span> /&gt;</span><br />	<span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"height"</span> <span class="attribute">value</span>=<span class="value">"160"</span> /&gt;</span><br />        <span class="tag">&lt;<span class="title"><span class="keyword">p</span></span>&gt;</span>Альтернативное содержимое<span class="tag">&lt;/<span class="title"><span class="keyword">p</span></span>&gt;</span> <br />   <span class="comment">&lt;!--[if !IE]&gt;--&gt;</span><span class="tag">&lt;/<span class="title"><span class="keyword">object</span></span>&gt;</span><span class="comment">&lt;!--&lt;![endif]--&gt;</span><br /><span class="tag">&lt;/<span class="title"><span class="keyword">object</span></span>&gt;</span></code></pre>

<p>Вставка flash на сайт методом вложенных объектов имеет следующие плюсы:</p>
<ul class="text4">
<li>Валидность и соответствие стандартам</li>
<li>Возможность показа альтернативного содержимого, если не установлен flash-плеер</li>
</ul>
<br />
<p>Этот метод имеет много недостатков, такова цена валидности:</p>
<ul class="text2">
<li>Дублирование параметров</li>
<li>Объемный код</li>
<li>Иррациональность</li>
<li>Использование условных комментариев (для обеспечения кроссбраузерности)</li>
<li>Не все браузеры предложат установить flash-плеер, при его отсутствии</li>
</ul>
<br />
<p style="text-align: justify;">Как видно из кода цена валидности  действительно высока. Соответствие стандартам, полезно ровно до тех пор,  пока не нарушается кроссбраузерность, правильность отображения и  удобство использования. Если бы можно было обойтись одним тегом <strong>object</strong>,  без дублирования параметров и атрибутов, веб-мастера не стали бы  изобретать многочисленные "велосипеды". Хотя использование условных  комментариев (conditional comments) валидно, вряд ли кто-то скажет, что  это действительно удобно.&nbsp;</p>
<p style="text-align: justify;">Возможно, в будущем разработчики  браузеров позаботятся о веб-мастерах, верстальщиках, веб-дизайнерах и  сделают возможным использование одного удобного метода вставки флеш в  html-разметку, но доля устаревших браузеров еще велика и спокойно его  использовать можно будет не скоро.</p>
<h2>Вставка флеш на сайт методом Flash Satay</h2>
Метод характеризуется, использованием тега <strong>object</strong>, минимализацией кода вставки flash на сайт и использованием, при необходимости, дополнительного флеш-загрузчика (прелоадера).
<p>Сатай много эксперементировал с кодом вставки флеш в HTML-разметку,  изучал тонкости обработки параметров различными браузерами. Основная  идея заключается в избавлении веб-мастеров от необходимости использовать  тег <strong>embed</strong>, вместе с тем отбрасывая необходимость дублировать параметры и делая код валидным!</p>
<p><span style="text-decoration: underline;">Код для вставки flash:</span> *&nbsp;</p>
<pre><code class="html"><span class="tag">&lt;<span class="title"><span class="keyword">object</span></span> <span class="attribute">type</span>=<span class="value">"application/x-shockwave-flash"</span> <span class="attribute">data</span>=<span class="value">"c.swf?path=myContent.swf"</span> <span class="attribute">width</span>=<span class="value">"400"</span> <span class="attribute">height</span>=<span class="value">"160"</span>/&gt;</span> <br /><span class="tag">&lt;<span class="title"><span class="keyword">param</span></span> <span class="attribute">name</span>=<span class="value">"movie"</span> <span class="attribute">value</span>=<span class="value">"="</span>/<span class="attribute">banners</span>/<span class="attribute">simply.swf</span>" /&gt;</span>  <br /><span class="tag">&lt;<span class="title"><span class="keyword">p</span></span>&gt;</span>Альтернативное содержимое<span class="tag">&lt;/<span class="title"><span class="keyword">p</span></span>&gt;</span> <br /><span class="tag">&lt;/<span class="title"><span class="keyword">object</span></span>&gt;</span></code></pre>
<p>*Опустим необязательные теги&nbsp;<strong>param</strong>&nbsp;для удобства :)</p>
<p>Вставка флеш на сайт&nbsp;методом Flash Satay, достаточно оптимизирована и  удобна! Метод хорошо подойдет для легких flash-роликов (например <a title="Flash баннеры" rel="shadowbox" href="http://qgen.ru/?category=3">flash баннеров</a>),  если флеш-контент весит много Мб или должен быть расчитан и на  аудиторию с низкой скоростью интернета, то нужно использовать загрузчик,  в который передается путь к основному файлу. Это связано с особенностью  данного метода, флеш содержимое будет отображено только после полной  загрузки. Стоит отметить, что для большинства флеш приложений так или  иначе нужно использовать прелоадер. В данном слечае путь к загружаемому  файлу передается через атрибут <strong>data</strong> и Get-переменную &rarr; data="c.swf?path=myContent.swf", можно передавать пусть и другими способами, например, через <strong>FlashVars</strong></p>
<p>Плюсы использования метода Flash Satay:</p>
<ul class="text4">
<li>Валидная вставка flash&nbsp;в HTML</li>
<li>Кроссбраузерная вставка flash в HTML</li>
<li>Возможность показа альтернативного содержимого</li>
</ul>
<p>Минусы вставки флеш методом Flash Satay:</p>
<ul class="text2">
<li>Отображение флеш-контента только после полной загрузки</li>
<li>Необходимо использовать прелоадер (загрузчик) для тяжелых флеш роликов и приложений</li>
<li>Необходимо передать путь загружаемого флеш ролика</li>
<li>Не все браузеры предложат установить flash-плеер, при его отсутствии</li>
</ul>
<h2>Вставка Flash на сайт методом SWFObject</h2>
Метод характеризуется использованием внешней js-библиотеки&nbsp;<strong>SWFObject</strong>,  завоевавшей популярность у веб-мастеров. Соответственно вставка flash  на страницу осуществляется подключением библиотеки и запуском  js-функции.
<p>Существует два вида вставки флеш с помощью <strong>SWFObject</strong>: <strong>статический</strong> и <strong>динамический</strong>.</p>
<p>Первое, что нужно сделать это <a rel="nofollow" href="http://code.google.com/p/swfobject/downloads/list" target="_blank">скачать js-библиотеку SWFObject</a><strong>&nbsp;</strong>, выложить её на сервер и подключить js-файл в html-разметке, лучше это сделать внутри тега <strong>head</strong> вместе с другими файлами js и css:</p>
<pre><code class="html"><span class="tag">&lt;<span class="keyword">script</span> <span class="attribute">type</span>=<span class="value">"text/j&#097;vascript"</span> <span class="attribute">src</span>=<span class="value">"/js/swfobject.js"</span>&gt;</span><span class="j&#097;vascript"></span><span class="tag">&lt;/<span class="title"><span class="keyword">script</span></span>&gt;</span></code></pre>
<p>Далее следует выбрать какой из этих способов лучше всего подходит для Вашего проекта, рассмотрим оба варианта:</p>
<h3>Динамический метод вставки flash с применением <strong>SWFObject</strong></h3>
<p><span style="text-decoration: underline;">Код для вставки flash:</span></p>
<pre><code class="html"><span class="tag">&lt;<span class="keyword">script</span> <span class="attribute">type</span>=<span class="value">"text/j&#097;vascript"</span>&gt;</span><span class="j&#097;vascript"><span class="comment">//&lt;![CDATA[</span><br />   <span class="keyword">var</span> flashvars = {};<br />   <span class="keyword">var</span> params = {<br />                 wmode: <span class="string">"transparent"</span>,<br />                 quality: <span class="string">"high"</span>,<br />                 scale:<span class="string">"noscale"</span>,<br />                 menu:<span class="string">"none"</span><br />                };<br />   <span class="keyword">var</span> attributes = {};<br />   <br />   swfobject.embedSWF(<span class="string">"/template/simply.swf"</span>, <span class="string">"idContainer"</span>, <span class="string">"400"</span>, <span class="string">"160"</span>, <span class="string">"9.0.0"</span>, <span class="string">"/template/expressInstall.swf"</span>, flashvars, params, attributes);<br /><br />           <span class="comment">//]]&gt;</span><br /></span><span class="tag">&lt;/<span class="title"><span class="keyword">script</span></span>&gt;</span> <br /> <span class="tag">&lt;<span class="title"><span class="keyword">div</span></span> <span class="attribute">id</span>=<span class="value">"idContainer"</span>&gt;</span><br />      <span class="tag">&lt;<span class="title"><span class="keyword">p</span></span>&gt;</span>Альтернативное содержимое<span class="tag">&lt;/<span class="title"><span class="keyword">p</span></span>&gt;</span><br /> <span class="tag">&lt;/<span class="title"><span class="keyword">div</span></span>&gt;</span></code></pre>
<p>Вставка флеш на сайт <strong>динамическим</strong> методом библиотеки <strong>SWFObject</strong> обладает следующими достоинствами:</p>
<ul class="text4">
<li>Валидная вставка flash на сайт и соответствие стандартам</li>
<li>Кроссбраузерное отображение flash-контента</li>
<li>Удобство использования</li>
<li>Возможность показа альтернативного содержимого, если не установлен flash-плеер</li>
<li>Возможность обновления flash-плеера, до необходимой версии</li>
</ul>
<br />
<p>Этот метод имеет ряд незначительных недостатков и неудобств при вставке флеш на сайт:</p>
<ul class="text2">
<li>Необходимость использования внешней библиотеки</li>
<li>Использование java script</li>
<li>Подмена содержимого*<sup>2</sup></li>
<li>Отсутствие установки флеш-плеера*<sup>3</sup></li>
</ul>
<br />
<p>*2 При вставке flash на сайт динамическим методом SWFObject заменяет  альтернативное содержимое на flash. Замена содержимого осуществляется,  если на пользовательском компьютере в браузере включена поддержка  j&#097;vascript и установлен flash-плеер. Для отображения на сайте - это  хороший прием, но только не для поисковых систем! Поисковые системы  негативно воспринимают подмену содержимого, как и текст скрытый от  пользователя, который может быть SEO-текстом.&nbsp;</p>
<p>*3 Если на клиентском компьютере не установлен flash-плеер, то  пользователь увидит лишь альтернативное содержимое. В данном случае  логично предложить пользователю установить надстройку, для отображения  флеш и уже в полной мере наслаждаться красотой сайта, интерфейсом и  юзабилити. Действительно можно указать в альтернативном содержимом  ссылку для скачивания флеш-плеера, но в случае согласия пользователя он  или перейдет на сайт загрузки или открыв сайт загрузки плеера в новой  вкладке (окне), все равно будет вынужден закрыть браузер после установки  плагина. Для этой ситуации есть изящное решение: разместить ссылку не  на сайт adobe для скачивания плеера, а на страницу Вашего сайта с  внедренным флеш&nbsp;<strong>двусоставным методом</strong>! Это позволит пользователю установить плагин не покидая Вашего сайта! &nbsp;</p>
<p>Использование <strong>динамического метода</strong>&nbsp;SWFObject&nbsp;вставки flash на  сайт - хорошое решение для любого проекта, но переизбытка флеш-контента  быть не должно, &nbsp;чтобы поисковики спокойно реагировали на замену  альтернативного содержимого.&nbsp;</p>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 21 Feb 2012 07:38:56 +0300</pubDate>
</item><item>
<title>Flash урок AS3: Создание анимации, используя класс Caurina Tweener actionscript3</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/836-flash-urok-as3-sozdanie-animacii-ispolzuya-klass-caurina-tweener-actionscript3.html</guid>
<link>http://simplesites4less.com/l-uroki/836-flash-urok-as3-sozdanie-animacii-ispolzuya-klass-caurina-tweener-actionscript3.html</link>
<description><![CDATA[<p>Советую всем этот замечательный <strong>flash урок</strong>, который познакомит Вас с классом <strong>caurina tweener</strong>. Имею счатье использовать в своих <strong>flash</strong> проектах класс <strong>caurina tweener</strong>, потому что класс&nbsp; <strong>caurina tweener</strong>прост, изящен и гибок. Вы можете использовать несколько свойств объекта для его анимации, создавая сложную анимацию несколькими строками кода.<br /><br />Я объясню вам как работает <strong>Actionscript 3</strong> <strong>caurina tweener</strong> на примерах.<br /><br />Посетите официальный сайт проекта <strong>caurina tweener</strong>, если хотите узнать больше.<br /><br />Прежде всего загрузите последнюю версию <strong>caurina tweener</strong>. Пункт загрузки (&ldquo;Featured downloades&rdquo;) в правом меню сайта.<br /><br />Важно: папка с классом (<strong>caurina tweener</strong>) должна находится в той же директории что и ваш <strong>Flash</strong> проект.<br /><br /><br />Эта строка импортирует класс <strong>caurina tweener</strong>:</p><br />[code]<pre name="code" class="php">Tweener.addTween(circle, {x:390, time:1, transition:"linear"});</pre>&lt;!--code2-->&lt;!--ecode2--><br /><br />, где<br /><br />&nbsp;&nbsp;&nbsp; * circle &ndash; является DisplayObject (объектом вывода круг)<br />&nbsp;&nbsp;&nbsp; * первый параметр это координата&nbsp; x положения круга<br />&nbsp;&nbsp;&nbsp; * time &ndash; как долго будет происходить переход, в секундах<br />&nbsp;&nbsp;&nbsp; * transition &ndash; тип перехода который будет использоваться. Чтобы экспериментировать с другими видами переходов смотрите Transition cheat sheet<br />&nbsp;&nbsp;&nbsp; * описание других параметров смотрите в документации.<br /><br />1. Простая анимация:<br />Перемещение circle (круга) из начального положения x = 10 в x = 390 используя linear transition.<br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">import caurina.transitions.Tweener; circle.x = 10;<br />Tweener.addTween(circle, {x:390, time:1, transition:"linear"});</pre>&lt;!--code2-->&lt;!--ecode2-->  <br /><!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268412250_tweener1.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268412250_tweener1.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268412250_tweener1.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end--><br /><br />2. Multiple MovieClip attributes:<br />Перемещение circle (круга) из начального положения x = 10 y = 75 при alpha = 0 в x = 350 y = 150 при alpha = 1 используя linear transition.<br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">import caurina.transitions.Tweener;<br />circle.x = 10;<br />circle.y = 75;<br />circle.alpha = 0;<br />Tweener.addTween(circle, {x:350, y:150, alpha:1, time:1, transition:"linear"});</pre>&lt;!--code2-->&lt;!--ecode2--><br /><p><!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268412350_tweener2.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268412350_tweener2.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268412350_tweener2.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end--><br /><br /><br />3. Два перемещения:<br />Сначала круг переместится по оси x,&nbsp; затем переместится по оси y.</p><br /><p>&nbsp;</p><br /><p>&nbsp;</p><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php"><br /><p>import caurina.transitions.Tweener;</p><br />circle.x = 10; circle.y = 75;<br />Tweener.addTween(circle, {x:350, time:0.5, transition:"easeInQuart"});<br />Tweener.addTween(circle, {y:150, time:1, transition:"easeOutBounce"});</pre>&lt;!--code2-->&lt;!--ecode2--> <br /><!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268412416_tweener3.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268412416_tweener3.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268412416_tweener3.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end--><br /><br />4. Параметр delay (эхо или запаздание):<br />После окончания первой анимации будет задержка на 1 секунду, прежде чем начнется вторая.<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">import caurina.transitions.Tweener;<br />circle.x = 10; circle.y = 75;<br />Tweener.addTween(circle, {x:350, time:0.5, transition:"easeInQuart"});<br />Tweener.addTween(circle, {y:150, time:1,transition:"easeOutBounce", delay:1.5});</pre>&lt;!--code2-->&lt;!--ecode2--> <!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268412682_tweener4.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268412682_tweener4.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268412682_tweener4.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end--><br /><br />5. onComplete параметр:<br />После окончания анимации вы можете сделать что-нибудь еще.<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">import caurina.transitions.Tweener;<br />tF.alpha = 0; circle.x = 10; circle.y = 75;<br />Tweener.addTween(circle, {x:350, time:0.5, transition:"easeInQuart",<br />onComplete:func});<br />function func() { &nbsp;tF.alpha = 1; }</pre>&lt;!--code2-->&lt;!--ecode2-->  <br /><!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268412708_tweener5.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268412708_tweener5.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268412708_tweener5.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end--><br /><br />6. onCompleteParams параметр:<br />Если Вы хотите, чтобы ваша функция onComplete имела параметры, Вы можете использовать onCompleteParams.<br /><br />&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">import caurina.transitions.Tweener;<br />tF.alpha = 0;<br />circle.x = 10;<br />circle.y = 75;<br />Tweener.addTween(circle, {x:350, time:0.5, transition:"easeInQuart",<br />onComplete:func, onCompleteParams:["Using onCompleteParams"]});<br />function func(t:String) { &nbsp;tF.txt.text = t; &nbsp;tF.alpha = 1; }</pre>&lt;!--code2-->&lt;!--ecode2-->  <!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268412695_tweener6.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268412695_tweener6.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268412695_tweener6.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end--><br /><br />7. Специальный параметр &ndash; Color (цвет):<br />Этот специальный класс помогает Вам применять трансформацию цвета к вашим объектам.import caurina.transitions.Tweener;<br /><br /> &lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">import caurina.transitions.properties.ColorShortcuts;<br />ColorShortcuts.init();<br />circle.x = 10;<br />circle.y = 75;<br />Tweener.addTween(circle, {x:200, _color:0xFF0000, time:1,<br />transition:"easeOutElastic"}); }</pre>&lt;!--code2-->&lt;!--ecode2--> <!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268412746_tweener7.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268412746_tweener7.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268412746_tweener7.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end--><br /><br />Экспериментируя с различными параметрами вы можете создать удивительные мультипликации всего несколькими строками кода. Вы можете пойти дальше и использовать специальные параметры, которые можно найти в документации к классу <strong>caurina tweener</strong>.<br /><p>&nbsp;</p><br /><p><strong><br /></strong></p><br /><p><strong>Скачать исходник с Depositfiles.com &nbsp;</strong> <strong><a href="http://depositfiles.com/files/wpzeus6kp" target="_blank">http://depositfiles.com/files/wpzeus6kp</a></strong></p><br /><p>&nbsp;</p><br /><p>&nbsp;</p>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Mon, 20 Feb 2012 16:22:55 +0300</pubDate>
</item><item>
<title>Flash урок: Глаза следящие за курсором мыши AS3
</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/839-flash-urok-glaza-sledyaschie-za-kursorom-myshi-as3.html</guid>
<link>http://simplesites4less.com/l-uroki/839-flash-urok-glaza-sledyaschie-za-kursorom-myshi-as3.html</link>
<description><![CDATA[<!--dle_flash_begin:425||264||http://learn-flash.ru/uploads/files/1268405200_alien_eyes_follow.swf--><object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='425' height='264'><param name='movie' value='http://learn-flash.ru/uploads/files/1268405200_alien_eyes_follow.swf'><param name='wmode' value='transparent' /><param name='play' value='true'><param name='loop' value='true'><param name='quality' value='high'><param name='allowscriptaccess' value='never'><embed AllowScriptAccess='never' src='http://learn-flash.ru/uploads/files/1268405200_alien_eyes_follow.swf' width='425' height='264' play='true' loop='true' quality='high' wmode='transparent'></embed></object><!--dle_flash_end-->
<br />

<p>Простой <strong>урок</strong>, для тех, кто хочет научится описывать взаимодействие <strong>мыши</strong> с другими объектами во <strong>flash</strong> на языке <strong>Actionscript3</strong>. Мы создадим персонажа пришелец, с глазами, которые будут следовать за <strong>мышью</strong>. Еще мы заменим стандартный <strong>курсор мыши</strong>.</p><a href="http://atp-wta.ru/" title="Новости тенниса"><strong>Новости тенниса</strong></a> сдесь atp-wta.ru
<ol>
<li>Для создания глаза рисуем круг с белой заливкой, который будет представлять собой роговую оболочку глаза. Конвертируем круг в Movie Clip (клавиша F8), при этом registration point выбираем по центру. Внутри этого Movie Clip рисуем второй круг, который будет радужной оболочкой глаза, и конвертируем его в Movie Clip. Позиционируем его в правой части роговицы. Задайте instance name для родительского Movie Clip: <strong>eye1</strong>. Перетащите из библиотеки (library) еще два глаза и дайте им instance name <strong>eye2</strong> и <strong>eye3.</strong><strong></strong>Разместите глаза на теле пришельца
<!--dle_image_begin:http://learn-flash.rufile:///c://content/flashless1/images/1268405744_eyes_follow_1.jpg|--><img src="http://simplesites4less.com/images/1268405744_eyes_follow_1.jpg" alt="Flash урок: Глаза следящие за курсором мыши AS3" title="Flash урок: Глаза следящие за курсором мыши AS3"  /><!--dle_image_end-->

<br /><br /></li>
<li>
Теперь, когда мы получили глаза, будем описывать их взаимодействие с мышью. Основная идея состоит в том, что глаза должны менять угол относительно оси Х, согласно положению (позиции) мыши. Чтобы вычислить угол поворота глаза, мы будем использовать функцию atan2, которой в качестве параметров передаются координаты мыши X и Y.
</li>
<p style="text-align: center;"><img style="text-align: left;" src="http://simplesites4less.com/images/1268405694_eyes_follow_2.jpg" border="0" alt="" /></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: left;"><!--code1--><!--ecode1--><pre name="code" class="php">radians1 = Math.atan2(a1, b1);</pre><!--code2--><!--ecode2--></p>
<p>&nbsp;</p>
<li>Угол, полученный функцией <strong>atan2</strong> в радианах. Для перевода его в градусы, вставте в код следующую строку: <!--code1--><!--ecode1--><pre name="code" class="php">degrees1 = radians1 / (Math.PI / 180);</pre><!--code2--><!--ecode2--></li>
<li>Теперь зададим угол поворота глаза. <!--code1--><!--ecode1--><pre name="code" class="php">eye1.rotation = degrees1;</pre><!--code2--><!--ecode2--></li>
<li>Чтобы заменить стандартный курсор мыши, используем следующий код.</li>
<!--code1--><!--ecode1--><pre name="code" class="php">  Mouse.hide(); cookie.x = mouseX; cookie.y = mouseY;</pre><!--code2--><!--ecode2--> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<li>Весь код</li>
<!--code1--><!--ecode1--><pre name="code" class="php">stage.addEventListener("mouseMove", eyesFollow);
cookie.visible = false;
function eyesFollow(e:MouseEvent):void {
&nbsp;var a1 = mouseY - eye1.y;
var b1 = mouseX - eye1.x;
var radians1 = Math.atan2(a1,b1);
var degrees1 = radians1 / (Math.PI / 180);
eye1.rotation = degrees1;
var a2 = mouseY - eye2.y;
var b2 = mouseX - eye2.x;
var radians2 = Math.atan2(a2,b2);
var degrees2 = radians2 / (Math.PI / 180);
eye2.rotation = degrees2; &nbsp;
var a3 = mouseY - eye3.y;
var b3 = mouseX - eye3.x;
var radians3 = Math.atan2(a3,b3);
var degrees3 = radians3 / (Math.PI / 180);
eye3.rotation = degrees3;
Mouse.hide();
cookie.visible = true;
cookie.x = mouseX;
cookie.y = mouseY; }
&nbsp;</pre><!--code2--><!--ecode2--><br /><br /><strong>Скачать исходник с Depositfiles</strong><a href="http://depositfiles.com/files/lbzd56eu5">http://depositfiles.com/files/lbzd56eu5</a>
</ol>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Mon, 20 Feb 2012 12:17:01 +0300</pubDate>
</item><item>
<title>Flash +.РФ. Что делать?
</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/845-flash-.rf.-chto-delat.html</guid>
<link>http://simplesites4less.com/l-uroki/845-flash-.rf.-chto-delat.html</link>
<description><![CDATA[<h3><strong>Тесты</strong></h3>
<br /> Для начала &mdash; тестовая флэшка. Кода из нескольких строчек достаточно для нашего исследования:<br /> <br />
<pre><code class="j&#097;vascript"><span class="keyword">&nbsp;</span><span class="keyword">var</span> xml = <span class="keyword">new</span> XML;
xml.&#111;nload = <span class="function"><span class="keyword">function</span><span class="params">()</span> {</span>
_root.txt.text = <span class="keyword">this</span>.toString();
};
xml.load(<span class="keyword">typeof</span>(_root.link) === <span class="string">"undefined"</span> ? <span class="string">"test.xml"</span> : _root.link);<br /></code></pre>
<br /> Ну и, естественно, нужно не забыть текстовое поле с именем txt на первом  кадре. Алгоритм простой: загружаем файл &laquo;test.xml&raquo; и отображаем его  содержимое. Если указан параметр &laquo;link&raquo;, то XML загружается из  указанного адреса. Соответствующий &laquo;test.xml&raquo; сделаем самым простым:<br /> <br />
<pre><code class="xml"><span class="pi">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
<span class="tag">&lt;<span class="title">test</span>&gt;</span>Test<span class="tag">&lt;/<span class="title">test</span>&gt;</span></code></pre>
<br /> Файлы &laquo;test.swf&raquo; и &laquo;test.xml&raquo; выкладываем на сервер и начинаем тесты.  Для тестов использовались два домена, один RU и один РФ, являющиеся  синонимами. Ожидаемый результат &mdash; флэшка должна отображать содержимое  XML-файла на любом домене. С тестом справились:<br />
<ul>
<li>Opera 11 (Windows, Linux)</li>
<li>Google Chrome 9 (Windows, Linux)</li>
<li>Internet Explorer 8</li>
<li>Internet Explorer 6 (адрес punycode)</li>
</ul>
Из распространенных браузеров тест провалился только в Firefox  (Windows, Linux). Браузеры Lynx и W3M не участвовали, по понятным  причинам.<br /> <br />
<h3><strong>Исследование</strong></h3>
<br /> Что же не так? Попробуем протестировать загрузку ресурсов с сервера через Firebug.<br /> <br /> С доменом RU все хорошо:<br /> <a href="file:///c://content/flashless1/images/test-01.png"><img src="http://simplesites4less.com/images/test-01.png" alt="" /></a><br /> <br /> А вот с доменом РФ что-то не так:<br /> <a href="file:///c://content/flashless1/images/test-02.png"><img src="http://simplesites4less.com/images/test-02.png" alt="" /></a><br /> <br /> Собственно, видна проблема: Flash-плагин в сочетании с Firefox делают  запрос на адрес, не закодировав доменное имя в punycode, что и вызывает  проблему.<br /> <br /> Окей, попробуем по-другому. Сделаем так, чтобы данные загружались с  домена RU. Добавим в адрес параметр &laquo;link&raquo;, который мы предусмотрели  специально для этого случая.<br />
<blockquote>Понятно, что у нас ничего не получится из-за проблем с  кроссдоменными запросами. Но раз уж решили действовать последовательно &mdash;  будем последовательными</blockquote>
Что и требовалось доказать:<br /> <a href="file:///c://content/flashless1/images/test-03.png"><img src="http://simplesites4less.com/images/test-03.png" alt="" /></a><br /> <br /> Вооружившись <a href="http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html">документацией</a>,  создадим файл &laquo;crossdomain.xml&raquo; в корне сайта. Этот файл будет запрошен  с домена RU (с того домена, где размещен XML-файл), и в нем должно быть  указано какие флэш-ролики могут загружать загружать данные (точнее, на  каких доменах опубликованы эти ролики).<br /> <br /> Вот только вопрос: какому домену разрешить запросы к нашему XML-файлу?  Ведь, как мы увидели, с кириллическим именем домена есть определенные  проблемы&hellip;<br /> <br /> Мы последовательно протестировали все возможные имена домена РФ:<br />
<ul>
<li>Кириллица (.рф)</li>
<li>Punycode (.xn--p1ai)</li>
<li>URL-кодирование, нижний регистр (.%d1%80%d1%84)</li>
<li>URL-кодирование, верхний регистр (.%D1%80%D1%84)</li>
</ul>
И&hellip; Все безуспешно. Все вариации на тему &laquo;crossdomain.xml&raquo; такого вида не приносили результатов:<br />
<pre><code class="xml"><span class="pi">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
<span class="tag">&lt;<span class="title">cross-domain-policy</span>&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"сайтнн.рф"</span></span>/&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"*.сайтнн.рф"</span></span>/&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"xn--80asmaqi.xn--p1ai"</span></span>/&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"*.xn--80asmaqi.xn--p1ai"</span></span>/&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"%D1%81%D0%B0%D0%B9%D1%82%D0%BD%D0%BD.%D1%80%D1%84"</span></span>/&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"*.%D1%81%D0%B0%D0%B9%D1%82%D0%BD%D0%BD.%D1%80%D1%84"</span></span>/&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"%d1%81%d0%b0%d0%b9%d1%82%d0%bd%d0%bd.%d1%80%d1%84"</span></span>/&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"*.%d1%81%d0%b0%d0%b9%d1%82%d0%bd%d0%bd.%d1%80%d1%84"</span></span>/&gt;</span>
<span class="tag">&lt;/<span class="title">cross-domain-policy</span>&gt;</span><br /></code></pre>
<br /> Выглядело это так:<br /> <a href="file:///c://content/flashless1/images/test-04.png"><img src="http://simplesites4less.com/images/test-04.png" alt="" /></a><br /> <br /> То есть, &laquo;crossdomain.xml&raquo; загружается, но флэш-плеер решает, что XML-данные с этого сайта загружать нельзя.<br /> <br />
<h3><strong>Решение</strong></h3>
<br /> Остался последний вариант &mdash; указать в качестве домена "*". Таким образом, &laquo;crossdomain.xml&raquo; приобрел следующий вид:<br />
<pre><code class="xml"><!--code1--><!--ecode1--><pre name="code" class="php"><span class="pi">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span>
<span class="tag">&lt;<span class="title">cross-domain-policy</span>&gt;</span>
<span class="tag">&lt;<span class="title">allow-access-from</span><span class="attribute"> domain=<span class="value">"*"</span></span>/&gt;</span>
<span class="tag">&lt;/<span class="title">cross-domain-policy</span>&gt;</span></pre><!--code2--><!--ecode2--><br /></code></pre>
<br /> И &mdash; о чудо!<br /> <a href="file:///c://content/flashless1/images/test-05.png"><img src="http://simplesites4less.com/images/test-05.png" alt="" /></a><br /> <br />
<h3><strong>Мораль</strong></h3>
<p><br /> Решение проблемы существует. Решение, конечно, не идеальное, потому что доступ к данным через  &laquo;crossdomain.xml&raquo; открывается сразу для всех сайтов. Впрочем, это не  всегда проблема, потому что кому надо &mdash; те смогут обратиться к данным и  другим способом, не обращая внимания на &laquo;crossdomain.xml&raquo;.<br /> <br /> Относительно того, указывать ли имя хоста в параметрах (flashvars), или  же его нужно включить в исходник флэш-ролика, вопрос остается открытым.  Наверняка многие разработчики в целях защиты предпочитают &laquo;хардкодить&raquo;  имена сайтов во флэшки, и наверняка многие предпочитают выносить эти  адреса в параметры. Вполне допускаю правоту и тех, и других, в  зависимости от проекта и задач. И предпочитаю на эту тему не спорить.</p>
<p>&nbsp;</p>
<p>Источник: habrahabr.ru</p>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Mon, 20 Feb 2012 02:34:10 +0300</pubDate>
</item><item>
<title>Flash урок: Создание прелоадера для Flash сайта в виде бутылки. flash preloader Actionscript 3</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/832-flash-urok-sozdanie-preloadera-dlya-flash-sayta-v-vide-butylki.-flash-preloader-actionscript-3.html</guid>
<link>http://simplesites4less.com/l-uroki/832-flash-urok-sozdanie-preloadera-dlya-flash-sayta-v-vide-butylki.-flash-preloader-actionscript-3.html</link>
<description><![CDATA[<p>В этом flash уроке, показано, с какой легкостью можно создать прелоадер, который постепенно будет показывать картинку, синхронно с загрузкой вашего сайта. В этом уроке будет рассмотрено следущее:</p><br /><ul><br /><li>Как импортировать картинки      во Flash,</li><br /><li>Как создавать маску,</li><br /><li>Как написать код прелоадера.</li><br /></ul><br /><h3>Импорт картинки и размещение по центру на сцене</h3><br /><p>1. Создайте новый flash проект.<br /> 2. Выберите <strong>Modify &gt; Document</strong>. В открывшемся окне, найдите поле <strong>Frame rate</strong> и введите в нем значение 30. Это значит, что ваш SWF файл будет иметь скорость анимации 30 fps, или будет показано 30 фреймов за одну секунду.</p><br /><p>&nbsp;</p><br /><p>&nbsp;</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939005_bottle1.jpg" alt="flash preloader" /><br /><br /><br /> <br /> 3. Загрузить картинку из этого урока. Кликом правой кнопки мыши на картинке, выберете <em>&ldquo;Сохранить картинку как&hellip;&rdquo;</em> и сохраните картинку в любое место на вашем хард-диске.<br /><p>&nbsp;</p><br /><p>&nbsp;</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939116_bottle2.jpg" alt="flash прелоадер " /><br /><br /><br /> 4. Выберите <strong>File &gt; Import &gt; Import to Stage</strong>. В появившемся диалоговом окне найдите картинку, которую вы сохранили, выделите ее и кликните по кнопке <strong>Open</strong>. Картинка появится на сцене.<br /> 5. Используя Selection tool <strong>(V)</strong>, кликните по картинке, чтобы выделить ее.<br /><p>&nbsp;</p><br /><p>&nbsp;</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939196_bottle3.jpg" alt="flash preloader" /><br /><p>&nbsp;</p><br /><br /><br /><br /> 6. Откройте панель <strong>Align,</strong> выбрав в меню <strong>Window &gt; Align</strong>. Чтобы выровнять картинку по центру на сцене, кликните по кнопке <strong>1</strong>. Теперь кликните по кнопке горизонтальное выравнивание <strong>(2)</strong> и после этого вертикальное выравнивание <strong>(3)</strong>.<br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939206_bottle4.jpg" alt="flash preloader " /><br /><br /><br /><br /> 7. Назовите текущий слой <em>bottle</em> и  заблокируйте его.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939294_bottle5.jpg" alt="flash прелоадер" /><br /><br /><br /><br /> 8. Создайте новый слой и назовите его <em>rectangle</em><em>mask</em>.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939240_bottle6.jpg" alt="Flash уроки" /><br /><br /><br /><br /><p>&nbsp;</p><br /><h3>Создание маски для картинки с бутылкой</h3><br /><p>9. Выберите на панели инструментов Rectangle tool <strong>(R)</strong>. Нарисуйте прямоугольник без видимых границ (свойство outline colors). Чтобы сделать это, используйте <strong>Colors</strong> area на панели инструментов. Кликните на иконку карандаша (<strong>Stroke</strong> color), чтобы выбрать цвет границ (1) . Кликните по центральной иконке на в следующей строке (2) чтобы заблокировать выбранный цвет.</p><br /><p>&nbsp;</p><br /><!--dle_image_begin:http://simplesites4less.com/images/1283066101_bottle10x.jpg|--><img src="http://simplesites4less.com/images/1283066101_bottle10x.jpg" alt="Flash урок: Создание прелоадера для Flash сайта в виде бутылки. flash preloader Actionscript 3" title="Flash урок: Создание прелоадера для Flash сайта в виде бутылки. flash preloader Actionscript 3"  /><!--dle_image_end--><br /><br /><p>&nbsp;</p><br /><p>10. Кликните где-нибудь правее или левее от картинки с бутылкой и перетащите мышь. Этими манипуляциями вы сделаете небольшой прямоугольник, неважно каких пропорций. Мы зададим пропорции прямоугольника позже.</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939296_bottle7.jpg" alt="flash прелоадер" /><br /><br /><br /><br /> 11. Р<strong>азблокируйте</strong> слой <em>bottle</em>.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939286_bottle8.jpg" alt="flash preloader" /><br /><br /><br /><br /> 12. Выберите на панели инструментов Selection tool <strong>(V)</strong>, кликните на прямоугольник, чтобы выделить его. Удерживая <strong>Shift,</strong> выделите картинку бутылки. Как вы можете видеть, выделенные объекты на разных слоях.<br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939297_bottle9.jpg" alt="Flash уроки" /><br /><br /><br /><br /> 13. Перейдите на панель <strong>Align</strong><strong>снова (</strong>сочетание клавиш: <strong>Ctrl+K</strong>). Теперь, отключите на <strong>&nbsp;</strong><strong>панели кнопку &laquo;</strong><strong>to stage&raquo;</strong>. На картинке ниже показана отключенная кнопка <strong>&laquo;</strong><strong>to stage&raquo;</strong>(1).<br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939229_bottle10.jpg" alt="Flash уроки" /><br /><br /><br /><br /> Затем, кликните по кнопке &laquo;<strong>Match width and height&raquo;</strong> (2). Эти действия сделают размер прямоугольника таким же, как и у картинки с бутылкой.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939226_bottle11.jpg" alt="flash preloader" /><br /><br /><br /><br /> 14. Заблокируйте слой <em>bottle</em> снова,  потому-то мы не будем ничего делать в этом слое.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939282_bottle12.jpg" alt="Flash уроки" /><br /><br /><br /><br /> 15. Пока еще прямоугольник выделен, снова  используйте панель <strong>Align</strong>.  Вам нужно выравнить прямоугольник по центру сцены&nbsp; (<strong>смотрите шестой шаг)</strong><strong>:</strong><br /><p>&nbsp;</p><br /><ol type="1"><br /><li>Включить кнопку &laquo;Aligning objects to stage&raquo;,</li><br /><li>Выравнить прямоугольник       горизонтально,</li><br /><li>Затем вертикально.</li><br /></ol><br /><p>16. Ваш прямоугольник все еще выделен. Выберите пунк в меню <strong>Modify &gt; Convert  to Symbol</strong> (быстрый вызов: <strong>F8</strong>). Создайте movie clip из этой фигуры, выберите соответствующую  опцию (1).</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939246_bottle13.jpg" alt="flash прелоадер" /><br /><br /><br /><br /> Чтобы прелоадер функционировал как надо: убедитесь что выбрали нужную точку  регистрации (registration),  смотрите схему 2, на рисунке выше. <br />&nbsp;<br /><p>Это необходимо для того, чтобы иметь возможность растянуть movie clip с прямоугольником снизу вверх, так чтобы изображение бутылки "заполнялось" должным образом.</p><br />Каждое визуальное преобразование с movie clip, осуществляется с помощью ActionScript это делается с привязкой к его точке регистрации. Не путайте точку регистрации с точками вращения и преобразования, которые используются инструментом Free Transform Tool (Q), если вы вращаете или изменяете символы вручную. На рисунке ниже (с черным фоном, чтобы более четко определить разницу между ними) показаны обе точки: пункт, обозначенный цифрой 1 используется ActionScript - это точка регистрации. Другой пункт, отмеченный номером 2, является центром всех поворотов и преобразований осуществляемые инструментами. Легко видеть разницу: первый 1 имеет форму крестика, а второй представляет собой один кружок<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939229_bottle14.jpg" alt="Flash уроки" /><br /><br /><br /><br /> После, дайте имя новому символу <em>rectangle</em><em>(3)</em> и кликните <strong>OK</strong>.<br /><br /> 17. Теперь, когда вы создали movieclip, который будет выступать в качестве маски для изображения под ним, перейдите к панели свойства(Properties). Введите имя для своего movie clip <em>rectMask_mc</em> &nbsp;здесь:<br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939217_bottle15.jpg" alt="flash прелоадер" /><br /><br /><br /><br /> Без такого свойства объекта как Instance name, вы не сможете манипулировать movie clip-ом посредством ActionScript.<br /> <br />18. Заблокируйте слой <em>rectangle mask</em>. <strong>Кликните  правой кнопкой мыши</strong> по слою и выберите <strong>Mask</strong> в  появившемся меню. Вы должны увидеть, что иконки слоев изменились: слой <em>rectangle</em><em>mask</em> стал  маской, и слой <em>bottle</em> тоже.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939285_bottle16.jpg" alt="Flash уроки" /><br /><br /><br /><br /><p>Кроме того, вы должны увидеть, что изображение бутылки снова появилось, это означает, что маска была создана успешно.</p><br /><br /><br /><p>&nbsp;</p><br /><h3>Создание контура бутылки</h3><br /><p>19. Создайте новый слой и назовите его <em>outline</em>.</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939245_bottle17.jpg" alt="flash прелоадер" /><br /><br /><br /><br /> 20. Выберите в панели инструментов Line tool <strong>(N)</strong>. Перейдите на панель Properties и выберите тип линии - <strong>hairline</strong>(1).<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939222_bottle18.jpg" alt="flash прелоадер" /><br /><br /><br /><br />&nbsp;<br /><p>Затем, кликните на инструмент выбор цвета (небольшой цветной квадрат - 2). В появившемся окне цветовой палитры, выберите черный цвет &ndash; шестнадцатириный код которого <strong>#000000</strong> (3). Уменьшите alpha до <strong>60%</strong> (4).</p><br /><br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939290_bottle19.jpg" alt="flash preloader" /><br /><br /><br /><br /> Снижая его альфа (прозрачность), вы получаете гораздо  лучший внешний вид прелоадера.<br /><br /> 21. Кликните где-то возле левой нижней части бутылки - близко к ней, но не внутри нее и, удерживая кнопку мыши, перетащите мышь вверх. Увеличьте масштаб в случае необходимости.<br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939236_bottle20.jpg" alt="flash preloader" /><br /><br /><br /> <br />&nbsp;<br /><p>В случае если Ваша линия привязывается к близлежащим точкам, просто отключите привязку к объектам. Это маленький значок магнита&nbsp;<!--dle_image_begin:http://simplesites4less.com/images/1283066095_magnito.jpg|--><img src="http://simplesites4less.com/images/1283066095_magnito.jpg" alt="Flash урок: Создание прелоадера для Flash сайта в виде бутылки. flash preloader Actionscript 3" title="Flash урок: Создание прелоадера для Flash сайта в виде бутылки. flash preloader Actionscript 3"  /><!--dle_image_end--> в нижней части панели инструментов. Вы сможете свободно рисовать, как только вы выключите его.</p><br />После того как вы достигли верхнего контура бутылки, отпустите кнопку мыши.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939225_bottle21.jpg" alt="flash preloader" /><br /><br /><br /><br /> 22. Включите привязку к объектам снова (маленький значок магнита), таким образом вы сможете продолжать рисовать с последней точки. Выполните следующие действия (последовательность четко показана на рисунке ниже): <ol><br /><li>Выберите в панели инструментов      Line tool <strong>(</strong><strong>N)</strong>, перенести      мышь в конец линии, которую Вы нарисовали, ранее.</li><br /><li>Кликните и перетащите мышь      &ndash; новая линия автоматически начнется в том месте, где закончилась      предыдущая.</li><br /><li>Нарисуйте линию, которая до      точки, где изгиб бутылки заканчивается.</li><br /><li>Выберите инструмент Selection tool <strong>(</strong><strong>V)</strong> и поднесите курсор мыши      к центру новой линии. Возле курсора появится небольшая кривая линия, которая      показывает, что сейчас прямая линия может быть трансформирована в кривую. (См. Картинку по центру).</li><br /><li>Сделайте      клик мышью и начните перетаскивать влево и верх - как только вы получили хорошую,      гладкую кривую, которая повторяет контур бутылки, отпустите кнопку мыши</li><br /></ol><br /><p>&nbsp;</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939239_bottle22.jpg" alt="flash прелоадер" /><br /><br /><p><br /><br /> Вы можете остановиться, нарисовав половину контура бутылки. Поскольку бутылка на картинке симметрична относительно вертикальной оси, этого будет достаточно. Добавьте кривую по контуру дна, и в итоге вы получите результат такой же, какой показан ниже:</p><br /><p>&nbsp;</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939259_bottle23.jpg" alt="flash прелоадер" /><br /><br /><p><br /><br /> 23. Для того чтобы получить цельный контур, выполните следующие действия (последовательность четко показана на рисунке ниже):</p><br /><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. Выберите половины плана вы нарисовали до сих пор, используя Selection Tool (V).<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. Соетанием клавиш Ctrl + C скопируйте это, затем соетанием клавиш Ctrl + Shift + V вставьте на место. Новую копию вектора план будет размещен именно на поверх оригинала. Не нажимайте кнопку в любом месте, в противном случае эта новая копия сольется с оригиналом. Вместо этого, просто удерживайте Shift и нажмите кнопку со стрелкой вправо для перемещения наброски с правой стороны.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. Хотя план копии по-прежнему выбран, выберите Modify&gt; Transform&gt; Flip Horizontal, чтобы зеркально его.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. Выберите Selection Tool (V), принести мышь близко к верхней точке правой план, нажмите и начать двигаться, пока не дойдете до левой половине. Узкого круга появится, о том, что две половинки готовая лопнуть в месте, становятся единым целым. Чтобы сделать это, вы должны иметь привязки к объектам опция включена, конечно.</p><br /><p>&nbsp;</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939289_bottle24.jpg" alt="flash preloader" /><br /><br /><br /><br /> Если вы не совсем удовлетворены результатом, используйте инструмент Selection tool чтобы настроить совмещение двух кривых, пока контур не будет выглядеть так как надо. Кроме того, можно двигать правую часть контура (если она выделена) используя клавиши с левой и правой стрелкой.<br /><h3>Добавление контента во flash для тестирования прелоадера</h3><br /><p>24. Заблокируйте слой <em>outline</em>. Создайте новый слой и  назовите: <em>site</em><em>content</em>.</p><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939238_bottle25.jpg" alt="flash preloader" /><br /><br /><br /><br /> 25. К<strong>ликните правой кнопки мыши</strong> по  10 фрейму на этом новом слое и выберите в появившемся контекстном меню <strong>Insert</strong><strong>Keyframe</strong>.<br /><br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939259_bottle26.jpg" alt="flash preloader" /><br /><br /><br /><br /> Содержание сайта должно находиться после первого кадра. Почему, спросите вы? Ну, если вы поместите его в первый кадр, посетители веб-сайта будут видеть пустой экран, &nbsp;вместо прелоадера, которой предназначен для индикации того, что ваш Flash сайт загружается. Единственная цель прелоадера: показать пользователям, что ваш сайт не действует или неисправен, и что они просто должны немного подождать.<br /><br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939230_bottle27.jpg" alt="flash прелоадер" /><br /><br /><br /><br /> 26.Выберите в главном меню <strong>File &gt; Import &gt; Import to Stage</strong> (быстрый вызов: <strong>Ctrl+R</strong>). Просмотрите содержимое папок на компьютере и найдите <strong>картинку</strong> (формата JPG, GIF или PNG) размер которой больше <strong>100</strong><strong>KB</strong>. Выберите картинку и кликните по кнопке &laquo;<strong>Open&raquo;</strong>. Эта картинка, которую Вы импортировали в ваш Flash документ служит только для целей тестирования - увидеть, работает ли прелоадер должным образом.<br /><br /><img style="border: 0pt none;" src="http://simplesites4less.com/images/1280939274_bottle28.jpg" alt="flash прелоадер" /><br /><br /><h3>Добавление кода ActionScript,  с помощью которого оживет прелоадер</h3><br /><p>27 Заблокируйте слой <em>site content</em>. Создайте  новый слой над слоем <em>site</em><em>content</em> и назовите его - <em>actions</em>.  Нажмите на его  первый ключевой кадр, чтобы выбрать его для ввода ActionScript. На самом деле, только этот кадр ключевой, все остальные простые  кадры <br /> Возможно, вы заметили, что продолжительность действия  слоя такая же, как и у слоя, содержащий содержимое сайта. Это совершенно нормально - когда вы добавляете новый слой  Flash, то создается столько кадров, сколько у самого "длинного" слоя, созданного до него.<br /> 28. Выберите <strong>Window &gt; Actions</strong> (или &nbsp;<strong>F9</strong>). Появиться панель Actions. Вставьте в панель следующий ActionScript:</p><br /><p>&nbsp;</p><br /><p class="ascode">&lt;!--code1-->&lt;!--ecode1--><pre name="code" class="php">stop();<br />rectMask_mc._height = 1;<br />this.onEnterFrame = function():Void {<br />var loadedd&#097;ta:Number = this.getBytesLoaded();</p><br /><p class="ascode">var alld&#097;ta:Number = this.getBytesTotal();<br />var percent:Number = Math.round(loadedData/allData*100);<br />rectMask_mc._yscale = percent;<br />if (loadedData &gt;= allData) {<br />gotoAndStop(10);<br />delete this.onEnterFrame;<br />}<br />};</pre>&lt;!--code2-->&lt;!--ecode2--></p><br /><p>29. Протестируйте клип. Вы увидите, то картинка появилась мгновенно. Это случилось потому то вы тестируете ваш &laquo;мувик&raquo; локально на вашем компьютере а не через Web. Чтобы увидеть, как он будет загружаться через интернет, в окне запущенного &laquo;мувика&raquo;, выберите Вид&gt; Имитация "Загрузка". Если вы хотите изменить скорость загрузки в симуляции, зайдите в меню <strong>View &gt;</strong><strong>Download</strong><strong>Settings</strong>.</p><br />У Вас есть для выбора различные варианты, начиная от модемной скорости каменного века - 14,4 K, до быстрых широкополосных подключений. Выберите стандартную модемную скорость 56K, чтобы увидеть, как пользователь, имеющий такой вид связи будет загружать ваш сайт.]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Sun, 19 Feb 2012 05:12:42 +0300</pubDate>
</item><item>
<title>Защита флеш-файлов.
</title>
<guid isPermaLink="true">http://simplesites4less.com/l-uroki/826-zaschita-flesh-faylov..html</guid>
<link>http://simplesites4less.com/l-uroki/826-zaschita-flesh-faylov..html</link>
<description><![CDATA[Итак, защита SWF и т.д.<br /> <a name="habracut"></a><br /> SWF - открытый стандарт, где код преобразовывается в ассемблероподобный,  который потом декомпиляторы успешно декомпилируют обратно в fla.<br /> <br /> Спасибо <a href="http://uznick.habrahabr.ru/"><img title="посмотреть профиль" src="http://simplesites4less.com/images/small_default_userpic.gif" border="0" alt="посмотреть профиль" /></a>&nbsp;<a class="sf_page_nickname" href="http://uznick.habrahabr.ru/">Uznick</a>'у, нашел программу Amayeta SWF Encrypt, которая код преобразует к виду:<br /> <!--code1--><!--ecode1--><pre name="code" class="php">
<blockquote>var x01 = 707;  if (eval("x01") == 732)  {  }  else  {  while (x01 = eval("x01") - 86, if (eval("x01") != 732) goto  12, x01 = eval("x01") + 87, // Jump to 429496724, // Jump to 87,  eval("x01") == 621)  {  x01 = eval("x01") + 44;  if (false)  {  continue;  } // end if  x01 = eval("x01") - 260;  } // end while  if (eval("x01") == 376)  {</blockquote>
</pre><!--code2--><!--ecode2-->  <br /> и т. д.<br /> <br /> То есть судя по всему заменой функций на их opcodes, обфускацией и  перетасовкой кода. За что конторе большое спасибо. Скачивается на сайте.  Серийник - в eMule.<br /> <br /> Далее я тут набросал код, который проверяет откуда swf-файл запущен и блокирует не те домены.<br /> <br />
<blockquote><br /> <!--code1--><!--ecode1--><pre name="code" class="php">var allowDomains=new Array("averin.ru", "rpod.ru"); //список чего можно. Обратите внимание как написаны домены  var passTest=false; //здесь храниться результат тестов    for (eachDomain in allowDomains) //перебор доменов     hostdomain1="http://"+allowDomains[eachDomain]+"/";  hostdomain2="http://www."+allowDomains[eachDomain]+"/";    if (_root._url.substr(0,hostdomain1.length)==hostdomain1    if (passTest==false)  {  getURL("http://averin.ru/","_self"); //если тест не але - посылаем  _root.gotoAndStop(1);// тут можно поколдовать, может и не помочь, смотря что прописано в actions у кадра 1  }</pre><!--code2--><!--ecode2--><br /></blockquote>
<p><br /> <br /> Плюс ко всему если у вас какие-то ссылки передаются в swf, нужна ещё и  проверка на их правильность. Так как можно и не воровать а просто  заставить плеер играть не те файлы:)<br /> <br /> Картинки, рисование и подобное к сожаленю не кодируются:( Пока, я надеюсь.<br /> Есть вариант для их защиты их подгружать извне после проверки.</p>
<p>&nbsp;</p>
<p>Источник: <a href="http://habrahabr.ru" target="_blank">habrahabr.ru</a></p>]]></description>
<category><![CDATA[Уроки Flash]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Sat, 18 Feb 2012 14:08:36 +0300</pubDate>
</item></channel></rss>
