Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类

妈妈快开门

妈妈快开门

2016-01-29 12:16

Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类,本例为Flash AS 3.0菜鸟学飞系列教程,在本文中我们将学习类的编写之如何将时间轴上的代码转换为外部类,我们已经了解了在Flash CS3 中如何在时间轴上编写代码,那么如何将时间轴上的代码转换为外部类,以及Flash CS3 的文档类形式,接下来我们进一步的来研究编写类及外部as文件的方式。

我们已经了解了在Flash CS3 中如何在时间轴上编写代码,那么如何将时间轴上的代码转换为外部类,以及Flash CS3 的文档类形式,接下来我们进一步的来研究编写类及外部as文件的方式。

include

如果你了解AS1.0,AS2.0 编程,那么对include一定不陌生,在Actionscript 3.0中我们仍可以使用include 来导入代码。

例:
1、打开flash新建一个文档。保存为drag_inclue.fla在场景中创建一个影片剪辑,本例中使用的小球,将其转换为影片剪辑,并在场景中将其命名为circle_mc。 不需要在库中设置链接属性。

2、新增一层,按下F9打开动作面板,输入代码如下:

代码:

//设置当光标移到circle_mc上时显示手形
circle_mc.buttonMode = true;
// 侦听事件
circle_mc.addEventListener(MouseEvent.CLICK,onClick);
circle_mc.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
circle_mc.addEventListener(MouseEvent.MOUSE_UP,onUp);
//定义onClick事件
function onClick(event:MouseEvent):void{
trace("circle clicked");
}
//定义onDown事件
function onDown(event:MouseEvent):void{
circle_mc.startDrag();
}

function onUp(event:MouseEvent):void{
circle_mc.stopDrag();
}

3、将此帧上的代码全部选中,按下ctrl+x剪切,新建一个Actionscript文件,将剪切的代码贴上。保存名为drag_include.as。与drag_include.fla 在同一路径下。

4、回到drag_include.fla中,在第一帧上输入如下代码:
include "drag_include.as"

测试影片即可以看到与时间轴上测试时相同的结果了。此方式,在AS1.0 时经常使用。如果你仍习惯这种方式,在Actionscript 3.0中仍可以使用。 

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)

[next]

元件类(symbol class)

这里所说的元件类,实际是指为flash影片中的元件指定一个链接类名。它与上面的include 的不同之处在于,它使用的是严格的类结构。而不是我们习惯上的时间轴编写方式。我们要将小圆球的拖动功能封装起来,这样不论你创建多少可以拖动的小球,都会变得很轻松,只需要创建它的实例并显示出来即可。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)

我们仍使用上例来说明:打开drag_include.fla文件,将其另存为Symbol_class.fla文件,新建一个 Actionscript文件,将其保存为Symbol_class.as文件,与Symbol_class.fla文件在相同目录下。现在我们将上面的例子中的代码抽象成类如下:

代码:

package {

import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Symbol_class extends MovieClip {
public function Symbol_class(){

this.buttonMode = true;
this.addEventListener(MouseEvent.CLICK,onClick);
this.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
this.addEventListener(MouseEvent.MOUSE_UP,onUp);

}
private function onClick(event:MouseEvent):void{
trace("circle clicked");
}
private function onDown(event:MouseEvent):void{
this.startDrag();
}
private function onUp(event:MouseEvent):void{
this.stopDrag();
}
}
}

因为我们将类的名称设置为Symbol_class,所以类文件一定要保存为Symbol_class.as文件。我们还要做一步工作,在源文件中打开库面板,右键链接,类名:Symbol_class即让我们类与元件相关连。此时测试影片,你会看到与上例中相同的结果。注意:场景中仍要保证 circle_mc的存在。因为在代码中我们并没有动态的添加circle_mc。同时这个例子中,与上例一样,我们并没有使用AS3.0的文档类。

展开更多 50%)
分享

猜你喜欢

Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类

flash教程
Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类

Flash AS3.0菜鸟学飞教程:代码的位置

flash教程
Flash AS3.0菜鸟学飞教程:代码的位置

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Flash AS3.0菜鸟学飞教程:创建MovieClip类

flash教程
Flash AS3.0菜鸟学飞教程:创建MovieClip类

Flash AS3.0菜鸟学飞教程:创建Bitmap类

flash教程
Flash AS3.0菜鸟学飞教程:创建Bitmap类

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件

flash教程
Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件

Flash AS3.0菜鸟学飞教程:函数的引用

flash教程
Flash AS3.0菜鸟学飞教程:函数的引用

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PL/0语言词法及语法分析系统的设计与实现

PL/0语言词法及语法分析系统的设计与实现

将JSP在内存生成的图片显示到页面

将JSP在内存生成的图片显示到页面
下拉加载更多内容 ↓