湖北民族学院信息工程学院数字媒体技术flash动画设计实验报告后三章Word文件下载.docx
- 文档编号:21350562
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:9
- 大小:17.78KB
湖北民族学院信息工程学院数字媒体技术flash动画设计实验报告后三章Word文件下载.docx
《湖北民族学院信息工程学院数字媒体技术flash动画设计实验报告后三章Word文件下载.docx》由会员分享,可在线阅读,更多相关《湖北民族学院信息工程学院数字媒体技术flash动画设计实验报告后三章Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
二、实验环境(软件、硬件及条件)
多媒体计算机、FlashCS4等。
三、实验内容
1.利用as3代码添加事件侦听实现小球的交互式运动。
2.通过as3代码添加事件侦听自定义鼠标。
3.利用as3代码添加事件侦听制作盘表。
四、实验方法与步骤
以小球的运动为例:
1.在flashcs4中新建一个元件,并移到舞台上,命一个名字比如ball将其实例化。
2.还要在舞台上添加方向键以便控制小球的运动。
可以自己新建元件,但为了方便,我们不妨用公用库里的按钮元件。
打开窗口,选择公用库button中的classicalbuttons,从中选择上下左右四个方向键,分别移到舞台上,合理分布一下即可,但同样需要实例化,不妨命名为btleft、btright、btup和btdown。
3.打开动作面板添加as3代码。
代码如下:
functionmoveball(dir:
String){
varv:
int=5;
switch(dir){
case"
left"
:
ball.x-=v;
break;
right"
ball.x+=v;
up"
ball.y-=v;
down"
ball.y+=v;
}
}
vardirector:
String;
addEventListener(Event.ENTER_FRAME,movehd);
functionmovehd(e){
moveball(director);
btleft.addEventListener(MouseEvent.MOUSE_DOWN,blefthd);
functionblefthd(e){
director="
;
btright.addEventListener(MouseEvent.MOUSE_DOWN,brighthd);
functionbrighthd(e){
btup.addEventListener(MouseEvent.MOUSE_DOWN,buphd);
functionbuphd(e){
btdown.addEventListener(MouseEvent.MOUSE_DOWN,bdownhd)
functionbdownhd(e)
{
4.按ctrl+enter测试一下,用鼠标按下方向键按钮,查看小球的运动情况,合理即可。
自定义鼠标和盘表的方法步骤与上述类似,现只给出关键代码
自定义鼠标:
Mouse.hide();
stage.addEventListener(Event.ENTER_FRAME,zidingyi);
functionzidingyi(e:
Event){
mc.x=stage.mouseX;
mc.y=stage.mouseY;
盘表:
this.stage.addEventListener(Event.ENTER_FRAME,enterhd)
functionenterhd(e:
Event){
varrightNow:
Date=newDate();
//获得当前时分秒值
varseconds=rightNow.getSeconds();
varminutes=rightNow.getMinutes();
varhours=rightNow.getHours();
//一圈360度,60秒转一圈,1秒转6度
secondHand.rotation=seconds*6;
//一圈360度,60分转一圈,1分转6度
minuteHand.rotation=minutes*6;
//一圈360度,12小时转一圈,1小时转30度;
1小时60分钟,1分转1/2度
hourHand.rotation=hours*30+minutes/2;
5、实验结果记录与分析
六、疑难问题报告
实验时间:
2013年11月12日9、10节实验地点:
ActionScript3.0类编程
1、实验目的
1.掌握自定义类的定义方法
2.掌握类的访问属性与类成员属性的区别
3.掌握实例属性和静态属性的定义方法及应用、
4.掌握构造函数和静态方法的定义与应用方法
1.利用类制作放射线条。
2.利用类制作小球的运动。
3.利用类中的静态属性可记录生成对象个数的类。
(属性或方法前加关键字static);
4、实验方法与步骤
以制作放射线条为例:
1.打开flashcs4,新建一个fla文件和一个as文件,并确保两者同名且同在一个文件夹下(相对路径就为零了,不用再写)。
比如一个叫drawline.as,一个叫drawline.as.fla。
2.在as文本中编写类代码,注意类名与as文本同名。
package{
importflash.display.Sprite;
publicclassdrawlineextendsSprite{
varx0:
uint=280;
vary0:
uint=200;
publicfunctiondrawline(n:
uint){
for(vari:
uint=0;
i<
n;
i++){
graphics.lineStyle(3,0xffffff*Math.random());
graphics.moveTo(x0,y0);
graphics.lineTo(Math.random()*500-250+x0,Math.random()*400-200+y0);
}
}
3.在fla文件的第一帧的动作面板上编写为类创建实例的代码:
Varmydrawline:
drawline=newdrawline(1000);
AddChile(mydrawline);
4.按ctrl+enter测试观察效果。
利用类制作小球的运动和利用类中的静态属性可记录生成对象个数的类与上述类似,就也只列出关键代码。
利用类制作小球的运动:
As文本中:
importflash.events.Event;
//定义类
publicclassdegree_move{
//定义类属性:
横向和纵向速度分量,外界对象引用
privatevarspeedX:
Number,speedY:
Number;
privatevarmc:
Object;
//构造函数,通过参数引用外部对象
publicfunctiondegree_move(_mc:
Object){
mc=_mc;
//运动执行方法,根据参数指定的角度和速度运动
Publicfunctiongo(degree:
Number=45,spe:
Number=5){
//使用三角函数计算速度分量
speedX=spe*Math.cos(degree*Math.PI/180);
speedY=spe*Math.sin(degree*Math.PI/180);
mc.addEventListener(Event.ENTER_FRAME,enterHd);
//实现具体的运动效果
privatefunctionenterHd(e:
mc.x+=speedX;
mc.y+=speedY;
Fla中帧上:
varmoveMc:
degree_move=newdegree_move(mc);
varmoverec:
degree_move=newdegree_move(rec);
//在按钮上注册事件,调用moveMc对象的go()方法,让小球运动
bt.addEventListener(MouseEvent.MOUSE_DOWN,downHd);
functiondownHd(e:
MouseEvent){
moveMc.go(30,5);
moverec.go(60,8);
静态属性--可记录生成对象个数的类:
publicclassballextendsSprite{
publicstaticvarcnt:
uint;
publicfunctionball(x0:
uint,y0:
graphics.beginFill(0xffffff*Math.random());
graphics.drawCircle(x0,y0,Math.random()*100);
graphics.endFill();
cnt++;
五、实验结果记录与分析
2013年11月19日9、10节实验地点:
雨伞的制作
进一步掌握自定义外部类的方法,进一步熟悉构造函数,了解帧上的代码是如何调用外部的类及里面的方法。
通过元件和自定义的外部类制作一个下雨天雨伞的动画,要求雨滴碰到雨伞时发生飞溅。
1.打开flashcs4,新建一个fla文件和一个as文件,并确保两者同名且同在一个文件夹下。
比如一个叫rain.as,一个叫rainas.fla。
2.在fla中新建雨伞影片剪辑元件(传统补间动画实现雨伞的运动),雨滴影片剪辑元件(传统补间和形状补间实现雨滴下落滴在水面上成水波逐渐消失的过程)和雨滴飞溅影片剪辑元件(初始是雨滴元件,再用形状补间实现雨滴向上飞溅),并分别实例化为umbrella、rain和drop,还要将rain导出。
3.在as文本中编写rain类代码:
//引入必要的类
importflash.display.MovieClip;
publicclassrainextendsMovieClip{
//定义属性:
一个雨伞对象的引用
varmc:
MovieClip;
//构造函数通过参数引用外界对象作为雨伞
//在当前对象上注册事件侦听函数
publicfunctionrain(_mc:
MovieClip){
this.addEventListener(Event.ENTER_FRAME,enterHD);
//如果雨点碰到雨伞则播放溅水花动画
privatefunctionenterHD(e:
if(this.drop.hitTestObject(mc)){
this.stop();
this.drop.play();
4.再在fla文件第一帧上编写代码:
addEventListener(Event.ENTER_FRAME,enterHD);
//不断创建新对象,产生多个下落的雨点
functionenterHD(e:
varr:
rain=newrain(mc)
r.x=150+200*Math.random()
r.y=100+100*Math.random()
addChild(r)
5.按ctrl+enter测试影片,观察效果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖北 民族学院 信息工程学院 数字 媒体 技术 flash 动画设计 实验 报告 后三章