数码资讯
flash将类和外部文件作为文件编写的方式
评论:我们已经学会了在Flash 9如果你可以在时间线写代码,如何将现有的时间线代码转换为配合FLASH9、课堂外。文档类的形式,那么我们就要好好的学习准备和外部的文件。 包括 如果你知道as1.0和AS2.0编程之前,就包括并不陌生,在AS 我们知道,在Flash 9中,如果我们可以在时间线写代码
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
评论:我们已经学会了在Flash 9如果你可以在时间线写代码,如何将现有的时间线代码转换为配合FLASH9、课堂外。文档类的形式,那么我们就要好好的学习准备和外部的文件。
包括
如果你知道as1.0和AS2.0编程之前,就包括并不陌生,在AS
我们知道,在Flash 9中,如果我们可以在时间线写代码,如何改造现有的时间表代码外部类和文档类的配合FLASH9的形式,我们需要进一步研究编写类和外部文件的方式。
包括
如果你知道as1.0和AS2.0编程之前,它就不包括陌生人和Actionscript 3我们仍然可以使用包括导入代码。
以下示例如下:
1、打开闪光灯,创建一个新文件,保存为drag_inclue.fla,在场景中创建一个影片剪辑,在这种情况下使用的球,将它转换成影片剪辑,并将它命名circle_mc。在场景中,不需要在库中设置链接属性。
2。添加一个图层,按F9键打开动作面板,在其中输入代码如下:
代码:
/ /时设置的circle_mc的显示手形光标
circle_mc.buttonmode =真;
事件监听器
circle_mc.addeventlistener(MouseEvent.CLICK事件);
circle_mc.addeventlistener(mouseevent.mouse_down,下);
circle_mc.addeventlistener(mouseevent.mouse_up,起来);
OnClick / /事件的定义
函数OnClick(事件:事件:void){
跟踪(单击);
}
对下 / /事件的定义
功能下(事件:事件:void){
circle_mc.startdrag();
}
函数内(事件:事件:void){
circle_mc.stopdrag();
}
3,选择该框架的代码,按Ctrl X剪掉它,选择Flash的新菜单,创建一个新的Actionscript文件,粘贴在新割的代码,保存drag_include.as。和相同的路径下drag_include.fla。
4。回到drag_include.fla,下面的代码是在第一帧:
drag_include.as 包括
测试电影可以看到与时间线测试相同的结果。这种方法经常用于as1.0。如果你还在用这种方式,它仍然可以使用Actionscript 3。
组件类(符号类)
这里提到的元素类实际上指的是在电影元素中指定一个名为Flash的链接。它与上面所包含的不同,是严格的阶级结构。相反,我们用时间线来准备道路。我们将拖动小球的功能包。不管你创造了多少可以拖动的球,都会变得很容易,只需要创建它的例子就可以显示出来。
我们仍然用这个例子来说明问题。打开drag_include.fla文件,将它保存为一个symbol_class.fla文件,创建一个脚本文件,将它保存为一个symbol_class.as文件在同一目录symbol_class.fla文件。现在我们抽象的代码在上述例子如下:
代码:
包{
进口flash.display.movieclip;
进口flash.events.mouseevent;
公共课symbol_class扩展MovieClip {
公共功能symbol_class(){
this.buttonmode =真;
This.addEventListener(MouseEvent.CLICK事件);
This.addEventListener(mouseevent.mouse_down,下);
This.addEventListener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
This.startDrag();
}
私有函数内(事件:事件:void){
This.stopDrag();
}
}
}
因为我们将类的名称设置为symbol_class,所以这类文件必须保存为symbol_class.as文件。我们需要做进一步的工作,在源文件打开库面板,右键点击脚本的circle_mc出口,选择链接,检查输入类symbol_class.as我们及相关元素。在这个时候你测试电影。与这里的结果相同。值得注意的是,现场仍在保证编码的存在circle_mc。因为我们不circle_mc动态粘。在本案的同时,在上面的例子中,我们没有使用AS3.0文档类。
动态类(动态类)
这种书写方式和Actionscript3.0配合FLASH9在预览实例教程的探索是一样的,这是最常用的。对于一些复杂的过程,由一个主要的和多个次级类组成。封装独立的函数,显示主要用途和集成类的每个部分的功能。正如上面的例子,我们已经封装了粒子拖曳函数。现在我们要创建100个可以拖动的小球。
以下是以下内容:
我们的想法是创建了一个封装拖动函数的类。我们正在创建一个主类来显示这100个拖动函数。我们将使用AS3.0新documnetclass特征。
如下:我们名字的主类documentclass.as,后包被命名为drag_class.as拖动球函数。
documentclass.as
代码:
包{
进口flash.display.movieclip;
公共课documentclass扩展MovieClip {
属性
私人_circle:drag_circle VaR;
私人_wslink:wslink VaR;
const int = 100 maxballs:私人;
构造函数
公共函数DocumentClass(){
var;
创建循环球
为(i = 0;i < = maxballs;我){
创建一个拖动球
_circle =新drag_circle();
球属性集的一些例子
_circle.scaley = _circle.scalex = Math.random();
在场景x,y位置
_circle。x = math.round(Math.random()*(stage.stagewidth - _circle。宽度));
_circle。Y = math.round(Math.random()*(stage.stageheight - _circle。高度));
在现场显示
addChild(_circle);
}
}
}
}
drag_circle.as类
代码:
包{
进口flash.display.sprite;
进口flash.events.mouseevent;
公共课drag_circle延伸雪碧{
公共功能drag_circle(){
this.buttonmode =真;
This.addEventListener(MouseEvent.CLICK事件);
This.addEventListener(mouseevent.mouse_down,下);
This.addEventListener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
This.startDrag();
}
私有函数内(事件:事件:void){
This.stopDrag();
}
}
}
我们使用前打开并保存为一个drag_class.fla文件fla文件,在document.as和drag_class.as类目录一样。打开库面板,选择在球库面板,在类的名称输入drag_class点击右键并选择链接。与上述元素的注意是不同的,我们不需要在场景中的任何内容,因为我们一直在documentclass.as动态连接和显示的circle_mc.in documentclass.fla主场景的主要范畴,进入我们的主类的名字DocumentClass。在属性面板的文档类输入框中,您可以测试它。
不使用库组件的动态类(没有库的动态类)
在这种情况下,我们使用的是已经创建好的影片剪辑,并在图书馆链接的类,这是一些复杂的图形的情况下更好的选择,如果你可以使用绘图API绘制的任何图形你要很熟练,那么你可以不使用库元素可以直接写在类,在本教程中,我们关注的是这样,那么我们可以不使用图书馆如何写一个类来实现以上功能。
很明显,我们不使用库中的组件,所以我们需要直接使用绘图API来直接绘制。
首先删除所有的内容在场景中的FLA,包括图书馆的内容。
的documentclass.as类如下:
代码:
包{
进口flash.display.movieclip;
公共课documentclass扩展MovieClip {
私人_circle:drag_circle VaR;
const int = 100 maxballs:私人;
公共函数DocumentClass(){
var;
为(i = 0;i < = maxballs;我){
_circle =新drag_circle();
_circle.scaley = _circle.scalex = Math.random();
_circle。x = math.round(Math.random()*(stage.stagewidth - _circle。宽度));
_circle。Y = math.round(Math.random()*(stage.stageheight - _circle。高度));
addChild(_circle);
}
}
}
}
drag_circle.as类
代码:
包{
进口flash.display.sprite;
进口flash.display.shape;
进口flash.events.mouseevent;
公共课drag_circle延伸雪碧{
机车的_circle:雪碧;
公共功能drag_circle(){
_circle =新的精灵();
_circle.graphics.beginfill(0xFF0000);
_circle.graphics.drawcircle(5 - 5, 10);
_circle.graphics.endfill();
_circle.buttonmode =真;
addChild(_circle);
_circle.addeventlistener(MouseEvent.CLICK事件);
_circle.addeventlistener(mouseevent.mouse_down,下);
_circle.addeventlistener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
_circle.startdrag();
}
私有函数内(事件:事件:void){
_circle.stopdrag();
}
}
}
注重drag_circle.as类,我们只是添加一段:
代码:
_circle =新的精灵();
_circle.graphics.beginfill(0xFF0000);
_circle.graphics.drawcircle(5 - 5, 10);
_circle.graphics.endfill();
还有一个声明构造函数之前:私人VaR _circle:雪碧;
测试你的胶卷。当然,在这里我们画一个红色圆圈的渐变。
包装类
一般来说,当文件是一个类,但在AS3中,现在可以定义多个类文件协助主班。
类文件中的辅助类必须在类包之外定义,并且只能对文件中的主类和其他辅助类可见,其基本结构如下所示:
代码:
包{
类{
函数的MyClass(){
VaR的帮手:myhelper =新myhelper();
}
}
}
类myhelper {
函数的MyHelper(){
VaR的帮手:helpershelper =新helpershelper();
}
}
类helpershelper {
功能helpershelper(){
}
}
请注意,包中最多只能定义一个类。同一文件中的辅助类不是包块的一部分,只能在该文件中可见并使用。
下一步我们将改写我们班分成上述包装类。我们写在documentclass.as文件下面的代码,并在属性面板FLA面板文档类的输入框输入documentclass类名称。
代码:
包{
进口flash.display.movieclip;
进口flash.display.sprite;
进口flash.events.mouseevent;
文档类
公共课documentclass扩展MovieClip {
私人_circle:drag_circle VaR;
const int = 100 maxballs:私人;
公共函数DocumentClass(){
var;
为(i = 0;i < = maxballs;我){
_circle =新drag_circle();
_circle.scaley = _circle.scalex = Math.random();
_circle。x = math.round(Math.random()*(stage.stagewidth - _circle。宽度));
_circle。Y = math.round(Math.random()*(stage.stageheight - _circle。高度));
addChild(_circle);
}
}
}
公共课drag_circle延伸雪碧{
机车的_circle:雪碧;
公共功能drag_circle(){
_circle =新的精灵();
_circle.graphics.beginfill(0x6d6e71);
_circle.graphics.drawcircle(5 - 5, 10);
_circle.graphics.endfill();
addChild(_circle);
this.buttonmode =真;
_circle.addeventlistener(MouseEvent.CLICK事件);
_circle.addeventlistener(mouseevent.mouse_down,下);
_circle.addeventlistener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
_circle.startdrag();
}
私有函数内(事件:事件:void){
_circle.stopdrag();
}
}
}
你现在可以测试你的电影了。
包括
如果你知道as1.0和AS2.0编程之前,就包括并不陌生,在AS
我们知道,在Flash 9中,如果我们可以在时间线写代码,如何改造现有的时间表代码外部类和文档类的配合FLASH9的形式,我们需要进一步研究编写类和外部文件的方式。
包括
如果你知道as1.0和AS2.0编程之前,它就不包括陌生人和Actionscript 3我们仍然可以使用包括导入代码。
以下示例如下:
1、打开闪光灯,创建一个新文件,保存为drag_inclue.fla,在场景中创建一个影片剪辑,在这种情况下使用的球,将它转换成影片剪辑,并将它命名circle_mc。在场景中,不需要在库中设置链接属性。
2。添加一个图层,按F9键打开动作面板,在其中输入代码如下:
代码:
/ /时设置的circle_mc的显示手形光标
circle_mc.buttonmode =真;
事件监听器
circle_mc.addeventlistener(MouseEvent.CLICK事件);
circle_mc.addeventlistener(mouseevent.mouse_down,下);
circle_mc.addeventlistener(mouseevent.mouse_up,起来);
OnClick / /事件的定义
函数OnClick(事件:事件:void){
跟踪(单击);
}
对下 / /事件的定义
功能下(事件:事件:void){
circle_mc.startdrag();
}
函数内(事件:事件:void){
circle_mc.stopdrag();
}
3,选择该框架的代码,按Ctrl X剪掉它,选择Flash的新菜单,创建一个新的Actionscript文件,粘贴在新割的代码,保存drag_include.as。和相同的路径下drag_include.fla。
4。回到drag_include.fla,下面的代码是在第一帧:
drag_include.as 包括
测试电影可以看到与时间线测试相同的结果。这种方法经常用于as1.0。如果你还在用这种方式,它仍然可以使用Actionscript 3。
组件类(符号类)
这里提到的元素类实际上指的是在电影元素中指定一个名为Flash的链接。它与上面所包含的不同,是严格的阶级结构。相反,我们用时间线来准备道路。我们将拖动小球的功能包。不管你创造了多少可以拖动的球,都会变得很容易,只需要创建它的例子就可以显示出来。
我们仍然用这个例子来说明问题。打开drag_include.fla文件,将它保存为一个symbol_class.fla文件,创建一个脚本文件,将它保存为一个symbol_class.as文件在同一目录symbol_class.fla文件。现在我们抽象的代码在上述例子如下:
代码:
包{
进口flash.display.movieclip;
进口flash.events.mouseevent;
公共课symbol_class扩展MovieClip {
公共功能symbol_class(){
this.buttonmode =真;
This.addEventListener(MouseEvent.CLICK事件);
This.addEventListener(mouseevent.mouse_down,下);
This.addEventListener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
This.startDrag();
}
私有函数内(事件:事件:void){
This.stopDrag();
}
}
}
因为我们将类的名称设置为symbol_class,所以这类文件必须保存为symbol_class.as文件。我们需要做进一步的工作,在源文件打开库面板,右键点击脚本的circle_mc出口,选择链接,检查输入类symbol_class.as我们及相关元素。在这个时候你测试电影。与这里的结果相同。值得注意的是,现场仍在保证编码的存在circle_mc。因为我们不circle_mc动态粘。在本案的同时,在上面的例子中,我们没有使用AS3.0文档类。
动态类(动态类)
这种书写方式和Actionscript3.0配合FLASH9在预览实例教程的探索是一样的,这是最常用的。对于一些复杂的过程,由一个主要的和多个次级类组成。封装独立的函数,显示主要用途和集成类的每个部分的功能。正如上面的例子,我们已经封装了粒子拖曳函数。现在我们要创建100个可以拖动的小球。
以下是以下内容:
我们的想法是创建了一个封装拖动函数的类。我们正在创建一个主类来显示这100个拖动函数。我们将使用AS3.0新documnetclass特征。
如下:我们名字的主类documentclass.as,后包被命名为drag_class.as拖动球函数。
documentclass.as
代码:
包{
进口flash.display.movieclip;
公共课documentclass扩展MovieClip {
属性
私人_circle:drag_circle VaR;
私人_wslink:wslink VaR;
const int = 100 maxballs:私人;
构造函数
公共函数DocumentClass(){
var;
创建循环球
为(i = 0;i < = maxballs;我){
创建一个拖动球
_circle =新drag_circle();
球属性集的一些例子
_circle.scaley = _circle.scalex = Math.random();
在场景x,y位置
_circle。x = math.round(Math.random()*(stage.stagewidth - _circle。宽度));
_circle。Y = math.round(Math.random()*(stage.stageheight - _circle。高度));
在现场显示
addChild(_circle);
}
}
}
}
drag_circle.as类
代码:
包{
进口flash.display.sprite;
进口flash.events.mouseevent;
公共课drag_circle延伸雪碧{
公共功能drag_circle(){
this.buttonmode =真;
This.addEventListener(MouseEvent.CLICK事件);
This.addEventListener(mouseevent.mouse_down,下);
This.addEventListener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
This.startDrag();
}
私有函数内(事件:事件:void){
This.stopDrag();
}
}
}
我们使用前打开并保存为一个drag_class.fla文件fla文件,在document.as和drag_class.as类目录一样。打开库面板,选择在球库面板,在类的名称输入drag_class点击右键并选择链接。与上述元素的注意是不同的,我们不需要在场景中的任何内容,因为我们一直在documentclass.as动态连接和显示的circle_mc.in documentclass.fla主场景的主要范畴,进入我们的主类的名字DocumentClass。在属性面板的文档类输入框中,您可以测试它。
不使用库组件的动态类(没有库的动态类)
在这种情况下,我们使用的是已经创建好的影片剪辑,并在图书馆链接的类,这是一些复杂的图形的情况下更好的选择,如果你可以使用绘图API绘制的任何图形你要很熟练,那么你可以不使用库元素可以直接写在类,在本教程中,我们关注的是这样,那么我们可以不使用图书馆如何写一个类来实现以上功能。
很明显,我们不使用库中的组件,所以我们需要直接使用绘图API来直接绘制。
首先删除所有的内容在场景中的FLA,包括图书馆的内容。
的documentclass.as类如下:
代码:
包{
进口flash.display.movieclip;
公共课documentclass扩展MovieClip {
私人_circle:drag_circle VaR;
const int = 100 maxballs:私人;
公共函数DocumentClass(){
var;
为(i = 0;i < = maxballs;我){
_circle =新drag_circle();
_circle.scaley = _circle.scalex = Math.random();
_circle。x = math.round(Math.random()*(stage.stagewidth - _circle。宽度));
_circle。Y = math.round(Math.random()*(stage.stageheight - _circle。高度));
addChild(_circle);
}
}
}
}
drag_circle.as类
代码:
包{
进口flash.display.sprite;
进口flash.display.shape;
进口flash.events.mouseevent;
公共课drag_circle延伸雪碧{
机车的_circle:雪碧;
公共功能drag_circle(){
_circle =新的精灵();
_circle.graphics.beginfill(0xFF0000);
_circle.graphics.drawcircle(5 - 5, 10);
_circle.graphics.endfill();
_circle.buttonmode =真;
addChild(_circle);
_circle.addeventlistener(MouseEvent.CLICK事件);
_circle.addeventlistener(mouseevent.mouse_down,下);
_circle.addeventlistener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
_circle.startdrag();
}
私有函数内(事件:事件:void){
_circle.stopdrag();
}
}
}
注重drag_circle.as类,我们只是添加一段:
代码:
_circle =新的精灵();
_circle.graphics.beginfill(0xFF0000);
_circle.graphics.drawcircle(5 - 5, 10);
_circle.graphics.endfill();
还有一个声明构造函数之前:私人VaR _circle:雪碧;
测试你的胶卷。当然,在这里我们画一个红色圆圈的渐变。
包装类
一般来说,当文件是一个类,但在AS3中,现在可以定义多个类文件协助主班。
类文件中的辅助类必须在类包之外定义,并且只能对文件中的主类和其他辅助类可见,其基本结构如下所示:
代码:
包{
类{
函数的MyClass(){
VaR的帮手:myhelper =新myhelper();
}
}
}
类myhelper {
函数的MyHelper(){
VaR的帮手:helpershelper =新helpershelper();
}
}
类helpershelper {
功能helpershelper(){
}
}
请注意,包中最多只能定义一个类。同一文件中的辅助类不是包块的一部分,只能在该文件中可见并使用。
下一步我们将改写我们班分成上述包装类。我们写在documentclass.as文件下面的代码,并在属性面板FLA面板文档类的输入框输入documentclass类名称。
代码:
包{
进口flash.display.movieclip;
进口flash.display.sprite;
进口flash.events.mouseevent;
文档类
公共课documentclass扩展MovieClip {
私人_circle:drag_circle VaR;
const int = 100 maxballs:私人;
公共函数DocumentClass(){
var;
为(i = 0;i < = maxballs;我){
_circle =新drag_circle();
_circle.scaley = _circle.scalex = Math.random();
_circle。x = math.round(Math.random()*(stage.stagewidth - _circle。宽度));
_circle。Y = math.round(Math.random()*(stage.stageheight - _circle。高度));
addChild(_circle);
}
}
}
公共课drag_circle延伸雪碧{
机车的_circle:雪碧;
公共功能drag_circle(){
_circle =新的精灵();
_circle.graphics.beginfill(0x6d6e71);
_circle.graphics.drawcircle(5 - 5, 10);
_circle.graphics.endfill();
addChild(_circle);
this.buttonmode =真;
_circle.addeventlistener(MouseEvent.CLICK事件);
_circle.addeventlistener(mouseevent.mouse_down,下);
_circle.addeventlistener(mouseevent.mouse_up,起来);
}
私有函数OnClick(事件:事件:void){
跟踪(单击);
}
私有函数下(事件:事件:void){
_circle.startdrag();
}
私有函数内(事件:事件:void){
_circle.stopdrag();
}
}
}
你现在可以测试你的电影了。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。