Как создать простую анимацию в чистом ActionScript (только Flex SDK) - PullRequest
0 голосов
/ 28 июня 2010

Я действительно не хочу чего-то сложного, на самом деле я хочу простейшую анимацию для целей обучения:

Я просто хочу переместить фигуру по прямой линии.

Можно ли сделать это в чистом ActionScript (только с Flex SDK), создавая временную шкалу программно или не создавая временную шкалу?

1 Ответ

3 голосов
/ 28 июня 2010

Если вы используете Flash Builder (или Flex Builder), вы можете сделать это, создав проект ActionScript. Мне немного непонятно, когда вы говорите, что хотите использовать Flex SDK, но в чистом ActionScript, поскольку Flex является основой для ActionScript. Поэтому, если вы говорите о mx Effects и Spark Effects, пожалуйста, сообщите нам об этом.

Следующее описание предназначено только для проекта ActionScript 3.0.

Хорошо, вам понадобится класс, который расширяет MovieClip скажем, SimpleFlash. Вместо этого вы можете продлить Sprite, если вам не нужно использовать временную шкалу.

import flash.display.MovieClip;

public class SimpleFlash extends MovieClip {
    public function SimpleFlash() {

    }
}

Нам понадобится простая фигура для размещения в нашем конструкторе SimpleFlash,

var simpleShape:Shape = new Shape();
            simpleShape.graphics.beginFill(0xFF0000);
            simpleShape.graphics.drawRect(0, 0, 100, 100);
            simpleShape.graphics.endFill();
                        simpleShape.x = 0;

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

simpleShape.addEventListener(Event.ENTER_FRAME,simpleAnimation);

Не забудьте добавить его в список отображения

addChild(simpleShape);

В нашей простой функции анимации (называемой двумя линиями вверх) мы хотим переместить фигуру по прямой линии вдоль оси x.

public function simpleAnimation(event:Event):void {
            event.target.x += 1;
}

Форма после будет перемещаться на 1 единицу вправо каждый раз, когда происходит событие ENTER_FRAME. Вот вам и простая анимация без временной шкалы.

Что вы можете извлечь из этого?

  • Измените 1 на другой номер, посмотрите, что произойдет. Форма движется быстрее или медленнее?
  • Изменить event.target.x на event.target.y в какую сторону?
  • Можете ли вы сделать это по диагонали? Как?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...