跳转到内容

ActionScript 编程/第一部分/第一章

来自维基教科书,开放世界中的开放书籍

Flash 中的每个符号实例都有属性,这些属性控制对象本身以及它如何显示以及它与环境的交互方式。但是,图形类型的符号实例无法用 ActionScript 引用,因为您无法为它们分配实例名称。

Actionscript 3.0


Actionscript 3.0 移除各种属性前的下划线。

ActionScript 中的属性在属性名称之前包含一个下划线,表示它与显示或环境有关。符号实例的属性可以在设计时或运行时使用 ActionScript 修改,这是动画的基本任务。

在本章中,我们将学习使用属性。


X, Y 坐标

[编辑 | 编辑源代码]

x 和 y 是对象的坐标。由于屏幕是二维的,因此对象没有第三个 z 坐标。现在让我们编写一个小型程序。我们将绘制一个球,然后将其移动到指定位置。

步骤 1

从工具栏中选择椭圆工具 并绘制一个圆圈。

步骤 2

选择您绘制的椭圆,然后按 F8。将出现“转换为符号”对话框。在“名称”字段中输入“mov_ball”,选择“影片剪辑”行为,然后按“确定”。

步骤 3

现在选择椭圆。在属性窗口(默认情况下位于屏幕底部)的“实例名称”字段(靠近“交换”按钮)中,键入“ball”。现在我们可以自定义球的属性了。

步骤 4

右键单击“时间轴”窗口中的关键帧,然后选择“操作”。将出现“操作”窗口。在脚本窗格中,写入以下内容

ball._x = 200;
ball._y = 200;

此示例将球的位置设置为 (200, 200)。但让我们分析一下代码。“ball” 是我们场景中的对象。"_x" 是对象的 x 坐标,"_y" 是对象的 y 坐标。在 ActionScript 中,属性以 "_" 开头,包括 x 和 y 坐标。在许多语言中,";" 放在每一行的末尾,以便程序可以找到语句的末尾。

宽度,高度度量

[编辑 | 编辑源代码]

宽度和高度是对象的垂直和水平尺寸。它们的使用就像使用 x 和 y 属性一样。将以下几行添加到前面的示例中,您就会明白。

ball._height = 50;
ball._width = 100;

XScale,YScale

[编辑 | 编辑源代码]

缩放本地坐标系会影响 _x 和 _y 属性设置,这些设置以完整的像素定义。例如,如果父影片剪辑缩放到 50%,则设置 _x 属性会在影片剪辑中移动对象,移动的像素数是影片设置为 100% 时的一半。

可见性

[编辑 | 编辑源代码]

此属性使对象可见或不可见。要测试此属性,我们需要在场景中添加一个按钮。在场景中绘制类似按钮的内容,并将其转换为按钮(使用 F8),或者您可以从“窗口>公共库”菜单中的“公共库”中添加任何按钮。添加按钮后,右键单击它并从弹出菜单中选择“操作”。在脚本窗格中,键入以下内容

 on (release) {
    ball._visible = false;
 }

但请注意,如果您使用的是标准模式,则不要编写此内容。从“操作”窗口的左侧选择“属性”,然后双击“_visible”。您会注意到第一行和第三行会自动写入,但第二行只是“_visible”。在脚本窗格上方的“表达式”字段中,写入“ball._visible = false”。但如果您使用的是高级模式,则复制上面编写的全部代码。第一行是“释放”事件的开始。“释放”事件在用户单击按钮时发生。编写事件的结构为“on (<event 的名称>) {”。“{”告诉程序事件的开始。“}”告诉程序事件的结束。因此,当用户单击按钮时,位于“{”和“}”之间的代码将被执行。第二行使用“_visible”属性使球不可见。此属性可以设置为“true”(“是”),表示可见,设置为“false”(“否”),表示不可见。这种类型的构造(“true” 和“false”)称为“布尔值”,您将在稍后学习。

旋转属性指定对象的旋转角度。要测试此属性,请按照以下步骤操作。

步骤 1

在工具箱中选择矩形工具 ,绘制一个矩形,双击绘制的矩形,然后按 F8 将其转换为符号。当出现“转换为符号”对话框时,键入“mov_box”作为符号的名称,选择“影片剪辑”行为,然后按“确定”。选择您绘制的矩形,并为其命名为“box”。

步骤 2

现在右键单击时间轴窗口中的关键帧,然后从弹出窗口中选择“操作”以显示“操作”窗口。显示窗口后,打开高级模式 并写入以下内容

 box._rotation = 45;

现在通过按 Ctrl + Enter 测试影片,您将看到结果。

质量属性并不重要。它只改变场景的质量。但它不会改变对象的质量,因为它的质量属性已设置。相反,它会改变整个影片的质量。例如,如果您编写以下内容

 box._quality = "LOW";

那么这将降低 box 对象的质量,以及所有其他对象的质量。

此属性更改或读取对象的名称。要了解如何使用此属性,让我们对其进行测试。我们将使用我们在学习“旋转”属性时使用的示例。右键单击时间轴窗口中的关键帧以查看“操作”窗口。现在将以下几行添加到代码中

 box._name = "box2";
 box._rotation = 45;

测试影片,您会发现没有任何变化。为什么?因为您将“box”的名称更改为“box2”,所以现在没有名为“box”的对象。但如果您只将第二行中的“box”替换为“box2”,它将变为“box2._rotation = 45;”,那么通过测试影片,您会发现框已旋转。

Alpha 为对象提供透明度。如果 Alpha 值设置为 0,则对象完全不可见。如果值设置为 100,则对象完全可见。您可以在设计时通过在属性窗口的“颜色”组合框中选择“Alpha”,以及在运行时通过使用 ActionScript 来为您的对象设置 Alpha 值。要测试此功能,请将以下行添加到前面的示例中。

 box._alpha = 30;

以下行将使框透明。

华夏公益教科书