📜  如何在 Flash 中为直升机制作动画?(1)

📅  最后修改于: 2023-12-03 15:08:36.753000             🧑  作者: Mango

如何在 Flash 中为直升机制作动画?

Flash 是一个十分强大的动画制作工具,能够轻松地为直升机制作动画。下面就让我们来一步步实现这个过程。

准备工作

首先,在 Flash 中创建一个新文档。我们需要画一个直升机的草图,以便后面制作动画时参考。可以用 Flash 的绘图工具绘制,也可以导入一张图片作为底图进行绘制。

制作直升机身体

首先,我们需要制作直升机的身体。在图层中新建一个图形层,并在其中绘制直升机的身体。可以使用 Flash 中的绘图工具,如矩形、椭圆等等。需要注意的是,直升机的身体在上面还要绘制一个小尾翼和一个长长的机身。

直升机身体示意图

制作直升机旋翼

直升机旋翼是整个动画中最重要的部分。在图层中新建一个图形层,并在其中绘制直升机的旋翼。可以使用 Flash 中的绘图工具,如椭圆、钢笔等等。需要注意的是,直升机旋翼是由多个叶片组成的,叶片之间的角度是相等的,可以使用复制粘贴的方式完成。

直升机旋翼示意图

制作动画

接下来,我们就可以开始制作直升机的动画了。在图层面板中,新建一个动画层,并将直升机的身体和旋翼分别拖入其中。可以用 Flash 的动画面板设置旋翼的渐变和旋转速度,以及直升机的运动轨迹。需要注意的是,直升机的身体和旋翼在动画中的运动要保持一致。

下面是动画示意图:

直升机动画示意图

导出动画

最后,将动画导出为 SWF 格式或其他格式。在 Flash 中,可以通过“文件”-“导出”-“导出电影”来导出动画。导出后,就可以在其他应用程序中使用动画了。

代码片段

代码片段如下:

// 创建一个新文档
var myDoc:Document = new Document();

// 创建一个图形层,并在其中绘制直升机的身体
var bodyLayer:Layer = myDoc.createLayer("Body Layer");
bodyLayer.drawRect(new Rectangle(0, 0, 100, 50));
bodyLayer.drawRect(new Rectangle(0, 50, 20, 20));
bodyLayer.drawRect(new Rectangle(60, 50, 40, 20));

// 创建一个图形层,并在其中绘制直升机的旋翼
var rotorLayer:Layer = myDoc.createLayer("Rotor Layer");
for (var i:int = 0; i < 4; i++)
{
    var blade:Shape = new Shape();
    blade.graphics.moveTo(5, 0);
    blade.graphics.lineTo(15, 0);
    blade.graphics.lineTo(10, 50);
    blade.graphics.lineTo(0, 50);
    blade.graphics.endFill();
    blade.rotation = i * 90;
    rotorLayer.addChild(blade);
}

// 创建一个动画层,并将直升机的身体和旋翼分别拖入其中
var animationLayer:Layer = myDoc.createLayer("Animation Layer");
animationLayer.addChild(bodyLayer);
animationLayer.addChild(rotorLayer);

// 在动画面板中设置旋翼的渐变和旋转速度,以及直升机的运动轨迹
// 导出动画
myDoc.export("my_animation.swf", ExportType.SWF);