ActionScript 编程实战 其他运算

合集下载

ActionScript编程 实战项目:视频播放器

ActionScript编程  实战项目:视频播放器

ActionScript编程实战项目:视频播放器在了解了Flash处理视频所使用的类、方法和对象后,即可根据这些内容,制作出可播放多个视频,并可快进、快退以及控制视频播放、暂停的播放器。

netStream类可以方便地实现视频播放的各种功能,如图25-1所示。

图25-1 视频播放器制作过程:(1)在Flash影片中导入播放器的背景素材,以及视频播放区域的背景素材。

将两个图像转换为影片剪辑元件,并为ActionScript导出,如图25-2所示。

图25-2 导入素材图像(2)导入播放器的各种按钮素材,并将其为ActionScript导出,如图25-3所示。

图25-3 导入按钮素材(3)为影片设置文档类为classes.main,然后即可在影片所在的目录新建classes目录,在目录中创建main.as文件,并在文件中新建名为classes的包,导入外部类,如下所示。

package classes{import flash.display.Sprite;import flash.display.MovieClip;import flash.media.Video;import flash.media.SoundTransform;import Stream;import Connection;import flash.display.Bitmap;import flash.display.BitmapData;import flash.events.MouseEvent;import flash.filters.DropShadowFilter;import flash.filters.GlowFilter;import flash.events.AsyncErrorEvent;}(4)自定义名为main的类,作为影片的文档类,然后在类中声明各种对象,如下所示。

private var playerBackground:PlayerBackground=new PlayerBackground();//实例化背景图像的影片剪辑private var playerArea:PlayArea=new PlayArea();//实例化视频播放区域的影片剪辑private var fastBack:Bitmap=new Bitmap(new FastBack(60,60));//实例化倒退按钮的位图private var fastPlay:Bitmap=new Bitmap(new FastPlay(60,60));//实例化快进按钮的位图private var mute:Bitmap=new Bitmap(new Mute(100,100));//实例化静音按钮的位图private var pauseVideo:Bitmap=new Bitmap(new PauseVideo(60,60));//实例化暂停按钮的位图private var playLast:Bitmap=new Bitmap(new PlayLast(60,60));//实例化上一个视频按钮的位图private var playNext:Bitmap=new Bitmap(new PlayNext(60,60));//实例化下一个视频按钮的位图private var playVideo:Bitmap=new Bitmap(new PlayVideo(60,60));//实例化播放按钮的位图private var stopVideo:Bitmap=new Bitmap(new StopVideo(60,60));//实例化停止播放按钮的位图private var smallBitmapArray:Array=newArray(playVideo,playNext,fastPlay,stopVideo,fastBack,playLast,pauseVideo);//实例化各种按钮存放的数组private var voice:Bitmap=new Bitmap(new V oice(100,100));//实例化开启声音按钮的位图private var fastBackBtn:MovieClip=new MovieClip();//实例化倒退按钮的影片剪辑元件private var fastPlayBtn:MovieClip=new MovieClip();//实例化快进按钮的影片剪辑元件private var muteBtn:MovieClip=new MovieClip();//实例化静音按钮的影片剪辑元件private var pauseVideoBtn:MovieClip=new MovieClip();//实例化暂停播放按钮的影片剪辑元件private var playLastBtn:MovieClip=new MovieClip();//实例化上一视频按钮的影片剪辑元件private var playNextBtn:MovieClip=new MovieClip();//实例化下一视频按钮的影片剪辑元件private var playVideoBtn:MovieClip=new MovieClip();//实例化播放按钮的影片剪辑元件private var stopVideoBtn:MovieClip=new MovieClip();//实例化停止播放按钮的影片剪辑元件private var smallButtonArray:Array=new Array(playVideoBtn,playNextBtn,fastPlayBtn,stopVideoBtn,fastBackBtn,playLastBtn, pauseVideoBtn);//将各种按钮的影片剪辑存放在新的数组中private var voiceBtn:MovieClip=new MovieClip();//实例化开启声音的影片剪辑private var videoURLArray:Array=new Array("f4v/video00.f4v","f4v/video01.f4v","f4v/video02.f4v","f4v/video03.f4v");//实例化视频存放路径的数组private var netConnection:NetConnection=new NetConnection();//实例化网络连接对象private var netStream:NetStream;//实例化视频流对象private var video:Video=new Video();//实例化视频对象private var audioTransform:SoundTransform=new SoundTransform();//实例化声音转换类对象private var overFilter:GlowFilter=new GlowFilter(0xffffff,1);//实例化鼠标滑过按钮的滤镜private var outFilter:GlowFilter=new GlowFilter(0xffffff,0);//实例化鼠标滑开按钮的滤镜private var currentVideoID:uint=0;//实例化当前播放的影片编号(5)自定义createUserInterface()函数,设置播放器背景以及视频播放区域的属性,如下所示。

ActionScript 2.0 语言参考 (运算符和示例)

ActionScript 2.0 语言参考 (运算符和示例)

ActionScript 2.0 语言参考 运算符符号运算符是指定如何组合、比较或修改表达式值的字符。

运算符摘要运算符说明 + (addition) 将数值表达式相加或者连接(合并)字符串。

+= (addition assignment) 对 expression1 赋予expression1 + expression2 的值。

[] (array access) 用指定的元素(a0 等)初始化一个新数组或多维数组,或者访问数组中的元素。

= (assignment) 将 expression2(位于右侧的参数)的值赋给 expression1 中的变量、数组元素或属性。

& (bitwise AND) 将 expression1 和 expression2 转换为 32 位无符号整数,并对整数参数的每一位执行布尔 AND 运算。

&= (bitwise AND assignment) 对 expression1 赋予 expression1 & expression2 的值。

<< (bitwise left shift) 将 expression1 和 expression2 转换为 32 位整数,并将 expression1 中的所有位向左移动由expression2 转换所得到的整数指定的位数。

<<= (bitwise left shift and assignment) 此运算符执行按位向左移位 (<<=) 运算,并将内容作为结果存储在 expression1 中。

~ (bitwise NOT) 也称为对一求补运算符或按位求补运算符。

| (bitwise OR) 将 expression1 和 expression2 转换为 32 位无符号整数,并在 expression1 或 expression2 的对应位为 1 的每个位的位置返回 1。

ActionScript3.0 编程基础_数据类型及其运算、程序流程

ActionScript3.0 编程基础_数据类型及其运算、程序流程

ActionScript3.0 编程基础_数据类型及其运算、程序流程关键字: flex7.3 数据类型和数据运算7.3.1 关于数据类型一个变量或者常量被声明时,必须指定其数据类型:原生数据类型:语言本身提供:字符串、整数、布尔型等复杂数据类型:由基本数据类型组成的复合型类型:类、接口等。

基本数据类型:∙Boolean:布尔型,true 和 false∙int:整数,存放32位二进制整数,范围:-2147483648~2147483647,当超出自动转为Number∙Null:空值,是字符串和所有类的默认值。

∙Number:整数型和浮点型,使用64位双精度格式存放数据,没有小数点时自动转换成整数。

最小值和最大值分别存放在Number 对象的MIN_VALUE 和 MAX_VALUE属性中。

∙String:字符串,以Unicode 编码格式存放。

∙uint:正整数类型,0~4294967295∙void:值为undefined,只能用作函数的返回类型。

1、Boolean:布尔型,它可以使用true或false(用于进行逻辑运算)两个值中一个值。

2、int:表示为 32 位带符号整数的数据类型。

int 类表示的值的范围是:-2,147,483,648 (-2^31) 到 2,147,483,647 (2^31-1)。

3、uint:表示 32 位无符号整数的数据类型的方法。

4、String:表示一串字符的数据类型。

5、Number:表示 IEEE-754 双精度浮点数的数据类型。

6、.Date:表示日期和时间信息。

复杂数据类型:Object 对象、 Array 数组、 Date 日期、Error 错误对象、Function 函数、 RegExp 正则表达式、XML XML数据对象、XMLList。

其中Object 是所有对象的基类。

以下是各个类型的默认值∙Object、Array :null∙Number:NaN∙int、uint:0∙Boolean:false∙*:不定类型,默认值:undefined。

ActionScript 编程实战 比较运算

ActionScript 编程实战  比较运算

ActionScript 编程实战比较运算作用:比较两个表达式之间的大小、相等等关系,根据其关系返回一个逻辑值。

说明:在编写ActionScript程序时,经常需要对两个或更多表达式进行比较。

ActionScript3.0提供了8种比较运算符,通过这些比较运算符,可以验证两个表达式之间的关系,并返回一个逻辑型数据,如表2-5所示。

表2-5 比较运算符示例:比较运算符经常应用于一些状态的判断中。

例如,使用比较运算符可以检测变量的数据类型,并根据数据类型输出相应的结果,如下所示。

var a="action";if(typeof a=="int"){trace("变量a为整数型数据");}else if(typeof a=="uint"){trace("变量a为无符号整数型数据");}else if(typeof a=="number"){trace("变量a为数字型数据");}else if(typeof a=="string"){trace("变量a为字符型数据");}else if(typeof a=="boolean"){trace("变量a为逻辑型数据");}在上面的语句中,用相等运算符对typeof方法验证的变量数据类型进行判断,然后输出结果。

相等运算符和全等运算符的区别在于,使用相等运算符进行比较,Flash会自行转换表达式的数据类型。

而全等运算符则不进行该类转换。

例如,判断true和数字1是否相等,如下所示。

var a:Boolean=true;var b:int=1;if(a==b){trace("在相等运算符下,Flash会进行数据转换");}执行上面的语句,即可看出,在相等运算符下,true和数字1是相等的。

ActionScript编程 实战项目:计算二元一次方程组

ActionScript编程  实战项目:计算二元一次方程组
x=x;
} else {
x="无解";
}
if (y!="NaN"&&y!="Infinity") {
y=y;
} else {
y="无解";
}
outputBox.text="二元一次方程组的解集为:"+"\n\tx = "+x+"\n\ty = "+y;
}
(12)自定义clear()函数,响应用户单击清空按钮的事件,将用户输入的数字和输出的结果清空,如下所示。
}
}
(9)声明buttonStyle和outputStyle等两个文本格式对象,分别设置其属性,用于影片的按钮组件和文本域组件,如下所示。
var buttonStyle:TextFormat=new TextFormat();
with (buttonStyle) {
font="微软雅黑";
size=12;
(5)执行【窗口】|【时间轴】命令,打开【时间轴】面板,在影片第1帧处按F9快捷键,在弹出的【动作】面板中导入影片使用的各种外部类,如下所示。
import fl.controls.Button;
//导入按钮组件类
import fl.controls.TextArea;
//导入文本域类
import fl.controls.TextInput;
var c2:Number=Number(c2Box.text);
var x:String=String((c1*b2-b1*c2)/(a1*b2-b1*a2));
var y:String=String((c1*a2-a1*c2)/(b1*a2-a1*b2));

ActionScript编程 实战项目:手表程序

ActionScript编程  实战项目:手表程序

ActionScript编程实战项目:手表程序调用日期和时间的对象,可以方便地读取当前的系统时间。

通过不断的实例化新的Date对象,并读取Date对象的属性,可以制作出钟表的程序。

例如,制作一个模拟的手表程序,通过当前的时间求出各种指针指向的刻度,如图22-1所示。

图22-1 手表程序制作过程:(1)在Flash影片中,导入背景素材以及手表的矢量素材图像,并分别将其为ActionScript导出,如图22-2所示。

图22-2 导入素材图像其BackgroundImageWatch(2)导入手表所使用的各种指针,分别将其为ActionScript导出,如图22-3所示。

图22-3 导入手表指针其中,秒针为MinuteHandler星DateHandler(3)设置影片的文档类为classes.main,然后即可在影片所在的目录中创建classes目录,并在classes目录中创建main.as文件,并在文件中创建classes包,导入各种外部类,如下所示。

package classes{import flash.display.Sprite;import flash.display.MovieClip;import flash.display.Bitmap;import flash.display.BitmapData;import flash.filters.GlowFilter;import flash.utils.setInterval;}(4)自定义名为main的主类,并在类中实例化各种影片所使用的变量,如下所示。

public class main extends Sprite{private var backgroundImage:Bitmap=new Bitmap(new BackgroundImage(550,520))//实例化背景图像的位图private var watch:Watch=new Watch();//实例化手表的影片剪辑元件private var glowFilter:GlowFilter=new GlowFilter(0xffffff,1,50,20,2,2);//实例化手表的发光滤镜对象private var monthHandler:MonthHandler=new MonthHandler();//实例化月份的指针private var dateHandler:DateHandler=new DateHandler();//实例化日期的指针private var dayHandler:DayHandler=new DayHandler();//实例化星期的指针private var hourHandler:HourHandler=new HourHandler();//实例化时针private var minuteHandler:MinuteHandler=new MinuteHandler();//实例化分针private var secondHandler:SecondHandler=new SecondHandler();//实例化秒针private var timeIntervalID:uint;//实例化影片执行的计时函数编号}(5)自定义createWatch()函数,设置背景图像与手表素材的坐标等属性,并将其添加到舞台中,如下所示。

ActionScript编程 实战项目:简单飞行游戏

ActionScript编程  实战项目:简单飞行游戏

ActionScript编程实战项目:简单飞行游戏在各种Flash动画中,计时函数与逐帧(ENTER_FRAME)事件、时间(Timer)类等的作用都是定时执行某些命令或改变对象的属性。

使用计时函数,可以方便地控制对象的各种属性,并随时通过其事件编号停止该运动。

通过计时函数,可以制作一些简单的运动动画。

例如,制作一个飞行射击游戏,如图17-14所示。

图17-14 太空勇士游戏制作过程:(1)为Flash 影片导入射击游戏的logo 以及背景图像。

将logo 转换为影片剪辑元件,为ActionScript 导出为logo ,然后再将背景图像为ActionScript 导出为SpaceBitmap ,如图17-15所示。

图17-15 导入素材图像(2)设置影片大小为800×430px ,然后导入玩家的战舰以及敌方战舰的图像,并将其转换为影片剪辑元件,如图17-16所示。

图17-16 制作玩家战舰和敌方战舰可分别将玩家战舰导出为艘战舰则为ship2(3)绘制战舰发射的激光炮元件,并为其填充颜色。

将元件为ActionScript 导出为laser ,如图17-17所示。

图17-17 绘制激光炮的元件(4)制作飞船爆炸的影片剪辑,将其添加到每艘敌方战舰的元件第2帧中。

然后在第1帧处添加Stop代码,如图17-18所示。

(5)从【组件】面板中将Button组件和Label组件拖拽到【库】面板中之后,即可在影片所在目录创建classes目录,并在classes目录中创建main.as文件。

为影片设置文档类后,即可在main.as文件中编写代码,如下所示。

package classes{import flash.display.Sprite;import flash.display.MovieClip;import flash.utils.setInterval;import flash.utils.clearInterval;import flash.display.Bitmap;import flash.display.BitmapData;import fl.controls.Button;import flash.events.MouseEvent;import flash.events.KeyboardEvent;import flash.events.Event;import flash.utils.setTimeout;import flash.utils.clearTimeout;import bel;import flash.text.TextFormat;}(6)创建名为main的主自定义类,然后即可实例化影片所使用的各种变量,如下所示。

ActionScript编程 实战项目:无忧数学课件

ActionScript编程  实战项目:无忧数学课件

ActionScript编程实战项目:无忧数学课件数学方法在Flash动画及脚本中有很重要的用途。

例如,执行各种解析几何的运算,以及通过方程的解集绘制各种图形。

尤其是数学中的三角函数,是绘制各种多边形、圆形所必备的方法。

本节将通过对Math类的应用,制作一个数学课间,如图9-5所示。

图9-5 数学课件计算角度制作过程:(1)导入课件的背景素材,分别将标题栏命名为Banner,背景图像命名为BackgroundImage,并将其为ActionScript导出,如图9-6所示。

图9-6 导入素材并为ActionScript导出(2)导入绘制坐标轴的区域图像,将其命名为Field,并将其为ActionScript导出,如图9-7所示。

图9-7 导入坐标区域并为ActionScript导出(3)保存影片,从【组件】面板中依次将Button组件、Label组件以及TextArea组件拖拽到【库】面板中,如图9-8所示。

图9-8 导入组件(4)在影片所在的目录创建classes目录,并在目录中创建ControlAxes.as文件。

在【属性】检查器中设置影片的文档类为classes.ControlAxes,然后即可在AS文件中创建包,导入外部类,如下所示。

package classes{import flash.display.Sprite;import flash.display.BitmapData;import flash.display.Bitmap;import flash.display.MovieClip;import flash.geom.Point;import flash.events.MouseEvent;import fl.controls.Button;import fl.controls.TextArea;import bel;import flash.utils.setInterval;}(5)创建名为ControlAxes的自定义类,作为影片的主类,并在主类中实例化影片使用的各种对象,如下所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ActionScript 编程实战其他运算
说明:
除了之前介绍的各种运算外,ActionScript还包含其他一些运算。

这些运算主要应用于对各种对象的操作。

在面向对象操作的运算中,通常会使用以下几种运算符。

●中括号“[]”在ActionScript中,中括号“[]”也是一种运算符,其作用是初始化新的数组
或访问数组中的元素。

●as as运算符通常用于判断某个对象是否是另一个对象中的成员。

●逗号“,”逗号“,”通常用于函数的多个参数或数组的多个元素。

用逗号分隔的对象通常属
于一个容器的同级子对象。

●delete delete运算符通常用于删除指定对象的某个属性。

●点“.”点“.”运算符是ActionScript中最常用的运算符之一,其作用是访问类的属性和方法,
或对象的子对象,以及分隔链接的包和类。

●in in运算符通常用于判断属性或子对象是否为对象的一部分。

●instanceof instanceof运算符的作用是判断对象的原型链中是否包含function 的原型对象。

●is is运算符的作用是判断对象是否与特定的数据类型、类和接口兼容。

●new new运算符的作用是实例化一个新的实例。

●大括号“{}”大括号“{}”运算符的作用是创建一个新的对象,并使用指定的实例名称和值
对其进行初始化。

●小括号“()”小括号“()”运算符的作用是对一个或多个参数执行组合运算,或改变表达式
中运算符的执行顺序,或将一个或多个值作为参数传递给某个函数。

●斜杠“/”两个斜杠“/”运算符之间的部分表示正则表达式
●冒号“:”冒号“:”运算符通常用于声明某个对象的类型。

●typeof 检测对象的数据类型并返回一个字符串
●连接符“+”连接符“+”运算符与普通的加法运算符不同,其主要用于字符串中,将两个以
上的字符串变量连接在一起,合并为一个字符串。

●单引号“'”和双引号“"”单引号“'”和双引号“"”必须成对使用,其之间的部分代表这是
一个字符串
示例:
在之前的章节中已介绍过,在使用trace()方法输出信息时,可以通过“,”运算符同时输出多段信息,如下所示。

trace("Action","Script","3.0");//输出Action Script 3.0
在创建函数或数组时,也经常需要使用“,”运算符将多个元素或参数连接起来,具体请参考函数和数组等相关章节。

在声明一个对象并为对象定义属性后,可以通过delete运算符删除属性,如下所示。

var myObject:Object=new Object();
="object";
trace();
delete ;
trace();
执行上面的代码,即可发现,第一个trace()方法正常输出了的属性值object字符串,而第二个trace()方法则只能输出未知属性的值undefine。

相关文档
最新文档