如何在纯动作脚本中创建一个简单的动画(仅限flex sdk)

时间:2010-06-27 20:52:15

标签: flash actionscript

我真的不想要复杂的东西,事实上我想要最简单的动画用于学习目的:

我只想在一条直线上移动一个形状。

是否可以通过以编程方式创建时间轴或不创建时间轴,在纯动作脚本(仅限flex sdk)中这样做?

1 个答案:

答案 0 :(得分:3)

如果您使用的是Flash Builder(或Flex Builder),则可以通过创建ActionScript项目来实现此目的。当你说你想要使用Flex SDK但是纯ActionScript时我有点不清楚,因为Flex是ActionScript的框架。因此,如果您正在谈论mx效果和Spark效果,请告诉我们。

以下是纯ActionScript 3.0项目。

好的,所以你需要一个扩展MovieClipSimpleFlash的课程。如果您不需要使用时间轴,则可以扩展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);

在我们的simpleAnimation函数(称为两行)中,我们希望沿x轴沿直线移动形状。

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

每次触发ENTER_FRAME的事件时,后面的形状将向右移动1个单位。 你去了一个没有时间轴的简单动画。

您可以从中学到什么?

  • 1更改为其他号码,看看会发生什么。形状是移动得更快还是更慢?
  • event.target.x更改为event.target.y以哪种方式?
  • 你可以对角线吗?怎么样?