ActionScript编程实战项目计算器程序.docx

上传人:b****2 文档编号:2063896 上传时间:2022-10-26 格式:DOCX 页数:14 大小:677.97KB
下载 相关 举报
ActionScript编程实战项目计算器程序.docx_第1页
第1页 / 共14页
ActionScript编程实战项目计算器程序.docx_第2页
第2页 / 共14页
ActionScript编程实战项目计算器程序.docx_第3页
第3页 / 共14页
ActionScript编程实战项目计算器程序.docx_第4页
第4页 / 共14页
ActionScript编程实战项目计算器程序.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

ActionScript编程实战项目计算器程序.docx

《ActionScript编程实战项目计算器程序.docx》由会员分享,可在线阅读,更多相关《ActionScript编程实战项目计算器程序.docx(14页珍藏版)》请在冰豆网上搜索。

ActionScript编程实战项目计算器程序.docx

ActionScript编程实战项目计算器程序

ActionScript编程实战项目:

计算器程序

在ActionScript3.0中,最常用的运算符就是四则运算符以及求余运算符。

使用ActionScript3.0中的运算符,可以方便地制作一个计算器程序,通过自定义的影片剪辑获取用户输入的信息,然后计算结果,如图2-1所示。

图2-1计算器程序制作过程:

(1)在图像处理软件中设计计算器的用户界面,并导入计算器的背景图像,将其转换为影片剪辑元件。

在【元件属性】对话框中,设置元件【为ActionScript导出】,并设置【类】为calcbg,如图2-2所示。

图2-2导入背景并设置类

(2)用同样的方法,导入影片背景图像、后退、清零按钮和数字按钮,并将这些图像转换为影片剪辑元件,如图2-3所示。

图2-3导入背景图像和按钮

背景图像的类名为bgmap,后退按钮的类名为bacbtn,清零按钮的类名为clsbtn,数字按钮的类名为calcbtn。

(3)执行【窗口】|【组件】命令,在弹出的【组件】面板中,将Label组件拖拽到【库】面板中,导入Label组件,如图2-4所示。

图2-4导入Label组件

(4)在影片所在目录新建classes文件夹,并在文件夹中创建calculator.as文件。

在【属性】检查器中设置Flash影片的文档类为“classes.calculator”,如图2-5所示。

图2-5设置文档类

关于文档类等知识,请参考本书面向对象的编程等相关章节

(5)在calculator.as文件中创建包文件,并导入影片需要使用的各种外部类。

同时,在包中创建文档类,如下所示。

packageclasses{

//创建名为classes的包

importflash.display.Bitmap;

importflash.display.BitmapData;

//导入位图数据类和位图类

importflash.display.MovieClip;

//导入影片剪辑类

importflash.display.Sprite;

//导入基类

importflash.geom.ColorTransform;

//导入颜色转换类

importflash.events.MouseEvent;

//导入鼠标事件类

importfl.controls.Label;

//导入标签组件类

importflash.text.TextFormat;

//导入文本格式类

importflash.text.TextField;

//导入文本字段类

publicclasscalculatorextendsSprite{

//创建主字定义类

}

}

(6)在主自定义类中声明各种变量,并为其赋值。

同时,将计算器中数字键的标签作为元素添加到数组中,如下所示。

privatevarbgMap:

bgmap=newbgmap(550,400);

privatevarbgImage:

Bitmap=newBitmap(bgMap);

//实例化背景图像位图

privatevarcalcImage:

calcbg=newcalcbg();

//实例化计算器的背景

privatevarcalc:

MovieClip=newMovieClip();

//实例化计算器的元件

privatevarbackBtn:

bacbtn=newbacbtn();

//实例化后退按钮的元件

privatevarclsBtn:

clsbtn=newclsbtn();

//实例化清零按钮的元件

privatevarcolor:

ColorTransform;

//实例化颜色转换对象,用于按钮的特效

privatevarbtnArray:

Array=newArray();

//实例化按钮的数组

privatevarnameArray:

Array=newArray("7","8","9","/","4","5","6","*","1","2","3","-","0","%","=","+");

//实例化按钮的名称数组

privatevaroutputForm:

TextField=newTextField();

//实例化输出数据的文本字段

privatevaroutputStyle:

TextFormat=newTextFormat();

//实例化输出数据的文本字段样式

privatevarnum1:

Number=0;

//实例化第一个运算数

privatevarnum2:

Number=0;

//实例化第二个运算数

privatevaroperator:

String="0";

//实例化运算符的初始值

privatevarnumExist:

Boolean=false;

//实例化判断数字是否存在的逻辑数据

privatevaroperatorExist:

Boolean=false;

//实例化判断运算符是否存在的逻辑数据

privatevarsecondNumExist:

Boolean=false;

//实例化第二个数字是否存在的逻辑数据

(7)自定义loadBGImage()函数和loadCalcImage()函数,加载影片背景以及计算器的背景,如下所示。

privatefunctionloadBGImage():

void{

//自定义loadBGImage()函数

bgImage.x=0;

bgImage.y=0;

stage.addChild(bgImage);

/*定义影片背景图像的位置,并将其添加到舞台中*/

}

privatefunctionloadCalcImage():

void{

//自定义loadCalcImage()函数

with(calcImage){

//定义calcImage影片剪辑元件的属性

x=0;

y=0;

//定义元件的坐标

addEventListener(MouseEvent.MOUSE_DOWN,dragUp);

addEventListener(MouseEvent.MOUSE_UP,putDown);

//为元件添加鼠标拖拽事件

}

with(calc){

//定义计算器的属性

x=240;

y=50;

//定义计算器的坐标

addChild(calcImage);

//将计算器背景添加到计算器中

}

stage.addChild(calc);

//将计算器添加到影片中

}

关于with(){}语句的使用方法,请参考本书流程控制的相关章节

(8)自定义dragUp()函数和putDown()函数,用于控制计算器的拖拽事件,如下所示。

privatefunctiondragUp(event:

MouseEvent=null):

void{//定义计算器拖拽的事件

calc.startDrag();

}

privatefunctionputDown(event:

MouseEvent=null):

void{//定义计算器被放下的事件

calc.stopDrag();

}

(9)自定义loadLeftBtn()函数,分别定义清零按钮和后退按钮的属性,并为其设置鼠标单击事件,如下所示。

privatefunctionloadLeftBtn():

void{

with(clsBtn){

//定义清零按钮的属性

x=11;

y=39;

//定义清0按钮的坐标

addEventListener(MouseEvent.MOUSE_OVER,btnHover);

addEventListener(MouseEvent.MOUSE_OUT,btnOut);

addEventListener(MouseEvent.CLICK,clsClick);

//为按钮添加鼠标事件

buttonMode=true;

//设置按钮的模式

}

calc.addChild(clsBtn);

//将按钮添加到计算器中

with(backBtn){

//设置后退按钮的属性

x=11;

y=92;

//按钮的坐标

addEventListener(MouseEvent.MOUSE_OVER,btnHover);

addEventListener(MouseEvent.MOUSE_OUT,btnOut);

buttonMode=true;

addEventListener(MouseEvent.CLICK,backClick);

//为按钮添加鼠标事件并设置按钮模式

}

calc.addChild(backBtn);

//将按钮添加到计算器中

functionclsClick(event:

MouseEvent=null):

void{

//定义清零按钮的鼠标单击事件

num1=0;

num2=0;

//分别将运算的数字清零

outputForm.text="0";

//设置输出的文本字段为0

operator="";

//清空运算符

numExist=false;

operatorExist=false;

secondNumExist=false;

//设置所有运算符和数字的逻辑值为否

}

functionbackClick(event:

MouseEvent=null):

void{

//定义后退按钮的鼠标事件

outputForm.text=outputForm.text.substr(0,outputForm.text.length-1);

//定义输出的文本字段内容减去1位

if(secondNumExist==false){

//判断第2个数字是否存在,如不存在

num1=Number(outputForm.text);

//将输出的文本设置为第1个数字

}else{

//否则

num2=Number(outputForm.text);

//设置为第2个数字

}

}

}

(10)自定义btnHover()函数和btnOut()函数,用于响应鼠标滑过按钮的事件,设置按钮的颜色转换滤镜,如下所示。

privatefunctionbtnHover(event:

MouseEvent=null):

void{

color=event.target.transform.colorTransform;

color.greenOffset=30;

event.target.transform.colorTransform=color;

}

privatefunctionbtnOut(event:

MouseEvent=null):

void{

color=event.target.transform.colorTransform;

color.greenOffset=0;

event.target.transform.colorTransform=color;

}

关于颜色转换滤镜的内容,请参考本书滤镜的相关章节

(11)自定义loadCalcBtn()函数,通过循环创建计算器中的按钮,并定义其属性。

同时,将nameArray数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 起诉状

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1