Flash/Sample02 — различия между версиями

Материал из synset
Перейти к: навигация, поиск
 
(не показаны 4 промежуточные версии этого же участника)
Строка 5: Строка 5:
 
|}
 
|}
 
----
 
----
 +
Шаблон анимационного приложения:
 +
<center>
 +
<flash>file=sample02.swf|width=600|height=50</flash>
 +
</center>
 +
 +
Создадим два слоя. На нижнем, пометив 3 фрейма, нажмём F5. На верхнем, на каждом из трёх фреймов нажимаем F6. Верхний слой будет служить для скриптов, а нижний для расположения графики:
 +
<center>
 +
[[File:simple02.png]]
 +
</center>
  
Нарисуем шарик, и нажав F8 превратим его в объект, задав ему имя «Ball».
+
Нарисуем шарик, и нажав F8 превратим его в объект, задав имя «Ball».
Чтобы обращаться с таким объектом помещённом на сцену достаточно задать его имя,
+
Чтобы обращаться с таким объектом помещённом на сцену достаточно задать ему имя,
 
например, ещё раз «Ball» в '''Property''' (там, где координаты, размер и т.п.) в поле «Instance name»
 
например, ещё раз «Ball» в '''Property''' (там, где координаты, размер и т.п.) в поле «Instance name»
  
 
Чтобы создавать копии объекта динамически, необходимо дополнительно задать ему имя а библиотеке «Ctrl+L». Для этого нажимаем на объекте правую кнопку мыши, выбираем '''Properties''', нажимаем кнопку '''Advanced''', и выбираем чекбокс '''Export for ActionScript'''. В поле '''Identifier''' должно появиться имя «Ball»
 
Чтобы создавать копии объекта динамически, необходимо дополнительно задать ему имя а библиотеке «Ctrl+L». Для этого нажимаем на объекте правую кнопку мыши, выбираем '''Properties''', нажимаем кнопку '''Advanced''', и выбираем чекбокс '''Export for ActionScript'''. В поле '''Identifier''' должно появиться имя «Ball»
  
 
+
Теперь в каждый фрейм первого слоя в окне '''Actions''' добавим следующие скрипты:
<center>
 
[[File:simple01.png]]
 
</center>
 
 
 
 
{| class="standard" width="100%"  
 
{| class="standard" width="100%"  
 
  !width="33%"| frame 1  
 
  !width="33%"| frame 1  
Строка 23: Строка 28:
 
  |-  
 
  |-  
 
  |<pre class="brush:js; gutter: false; toolbar: false;">
 
  |<pre class="brush:js; gutter: false; toolbar: false;">
out=2*a;
+
attachMovie("Ball","Ball_id",1);
 +
var ball0 = eval("Ball_id");
 +
ball0._x=300;  ball0._y=8;
 +
 
 +
var ball = eval("Ball");
 +
ball._x =300;  ball._y=8;
 +
ball.Vx = 5;
 
</pre>
 
</pre>
 
  |<pre class="brush:js; gutter: false; toolbar: false;">
 
  |<pre class="brush:js; gutter: false; toolbar: false;">
ticks=int(ticks)+1;
+
ticks=getTimer();
 +
 
 +
ball._x += ball.Vx;
 +
if(ball._x>500)
 +
  ball.Vx= -Math.abs(ball.Vx);
 +
if(ball._x<200)
 +
  ball.Vx=  Math.abs(ball.Vx);
 
</pre>
 
</pre>
 
  |<pre class="brush:js; gutter: false;  toolbar: false;">
 
  |<pre class="brush:js; gutter: false;  toolbar: false;">
Строка 32: Строка 49:
 
</pre>
 
</pre>
 
|}
 
|}
 +
 +
Первый фрейм служит для инициализации, второй и третий крутятся при проигрывании swf-ки.

Текущая версия на 20:21, 20 марта 2010

Sample01 << Оглавление >> Sample03

Шаблон анимационного приложения:

<flash>file=sample02.swf|width=600|height=50</flash>

Создадим два слоя. На нижнем, пометив 3 фрейма, нажмём F5. На верхнем, на каждом из трёх фреймов нажимаем F6. Верхний слой будет служить для скриптов, а нижний для расположения графики:

Simple02.png

Нарисуем шарик, и нажав F8 превратим его в объект, задав имя «Ball». Чтобы обращаться с таким объектом помещённом на сцену достаточно задать ему имя, например, ещё раз «Ball» в Property (там, где координаты, размер и т.п.) в поле «Instance name»

Чтобы создавать копии объекта динамически, необходимо дополнительно задать ему имя а библиотеке «Ctrl+L». Для этого нажимаем на объекте правую кнопку мыши, выбираем Properties, нажимаем кнопку Advanced, и выбираем чекбокс Export for ActionScript. В поле Identifier должно появиться имя «Ball»

Теперь в каждый фрейм первого слоя в окне Actions добавим следующие скрипты:

frame 1 frame 2 frame 3
attachMovie("Ball","Ball_id",1);
var ball0 = eval("Ball_id");
ball0._x=300;  ball0._y=8;

var ball = eval("Ball");
ball._x =300;  ball._y=8;
ball.Vx = 5;
ticks=getTimer();

ball._x += ball.Vx;
if(ball._x>500) 
   ball.Vx= -Math.abs(ball.Vx);
if(ball._x<200) 
   ball.Vx=  Math.abs(ball.Vx);
gotoAndPlay(2);

Первый фрейм служит для инициализации, второй и третий крутятся при проигрывании swf-ки.