互动媒体制作实验报告.docx

上传人:b****5 文档编号:28733972 上传时间:2023-07-19 格式:DOCX 页数:53 大小:2.01MB
下载 相关 举报
互动媒体制作实验报告.docx_第1页
第1页 / 共53页
互动媒体制作实验报告.docx_第2页
第2页 / 共53页
互动媒体制作实验报告.docx_第3页
第3页 / 共53页
互动媒体制作实验报告.docx_第4页
第4页 / 共53页
互动媒体制作实验报告.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

互动媒体制作实验报告.docx

《互动媒体制作实验报告.docx》由会员分享,可在线阅读,更多相关《互动媒体制作实验报告.docx(53页珍藏版)》请在冰豆网上搜索。

互动媒体制作实验报告.docx

互动媒体制作实验报告

上海建桥学院

本科实验报告

课程名称:

互动媒体制作

学号:

姓名:

专业:

数字媒体艺术

班级:

指导教师:

课内实验目录及成绩

序号

实验名称

页码

成绩

1

交互事件动画(星星亮满天)

1

2

文字回合类游戏制作

4

3

找茬类小游戏

7

4

碰撞类游戏制作

11

信息技术学院

2012年12月1日

上海建桥学院实验报告

课程名称:

互动媒体制作实验类型:

验证型

实验项目名称:

交互事件动画(星星亮满天)

实验地点:

多媒体机房实验日期:

2013年3月7日

一、实验目的和要求

1、熟悉的运用;

2、巩固AS3.0的程序结构和基本语法;

3、能够创建和调用系统函数;

4、能够熟练运用程序基本结构;

5、制作满足相应指标要求的正确运行的小游戏;

二、实验内容和原理

1、使用显示对象、对象点击事件、三大元件等编写交互功能

2、程序的基本结构包括:

顺序结构、选择结构、循环结构

3、事件函数:

MouseEvent事件类

4、时间函数:

Timer类

三、主要仪器设备或环境

PC机;Flashcs5.5(或以上);Photoshopcs5(或以上);移动终端5套。

四、操作方法与实验步骤

1、确定游戏的主题(名称、色彩配置、主题思想、使用方法等)

名称:

星星亮满天

色彩配置:

深邃的天空+颜色随机的星星

主题思想:

在背景天空区域,左键单击星星出现,并且颜色随机

使用方法:

鼠标左键单击

2、确定游戏的设计流程图

3、游戏素材的采集、导入或制作

导入图片bg,并转成元件导入图片星光,并制作成动画

4、关键的操作步骤(含主要代码)及技巧

星光转换成元件,并制作动画,达到星星从大到小,从小到大的变化。

然后将此元件再次转换,并再次制作动画,共5帧,每帧星星颜色不一样。

在bg上的天空上制作一个遮罩层mc,并对mc添加一个鼠标监听。

mc.addEventListener(MouseEvent.CLICK,fl_MouseClickHandler_2);

functionfl_MouseClickHandler_2(event:

MouseEvent):

void

{

varmystar:

star=newstar();

mystar.x=mouseX;

mystar.y=mouseY;

//改大小/颜色

mystar.stop();

varrandomNum:

int=Math.floor(Math.random()*5+1);

mystar.width=mystar.height=Math.random()*60+30;

mystar.gotoAndStop(randomNum);

addChild(mystar);

trace("已单击鼠标");

}

 

五、实验结果

注:

可用贴图的方式

1、主要使用的AS3.0的知识点

添加鼠标监听、实例对象显示在鼠标点击的位置(mystar.x=mouseX;mystar.y=mouseY;)、数学函数(随机数、向下取整)、gotoAndStop

2、小游戏的效果(至少给出3个,含制作过程及结果)

六、实验总结

注:

包括制作过程中出现的问题,实验心得体会及改进意见等

在老师的带领下完成了此次小游戏,初次体验到Flash的神奇,特别是随机数的出现。

在这种浓烈的兴趣下,我将更认真的学习Flash。

 

上海建桥学院实验报告

课程名称:

互动媒体制作实验类型:

设计型

实验项目名称:

文字回合类游戏制作(面向过程及时间函数)

实验地点:

多媒体机房实验日期:

2013年3月21日

一、实验目的和要求

1、巩固面向对象编程的相关概念;

2、构造函数的创建和使用;

3、事件处理机制及Event类的创建、使用(事件侦听器);

4、能够熟练运用鼠标事件;

5、制作满足要求的动画效果;

二、实验内容和原理

1、使用事件驱动编写AS3.0应用程序(物体移动等的动画效果)

2、鼠标事件:

CLICK、MOUSE_MOVE、MOUSE_OVER、MOUSE_OUT、MOUSE_WHEEL等

3、键盘事件:

KeyboardEvent.KEY_DOWN(UP)等

4、时间函数:

TimerEvent.TIMER、TimerEvent.TIMER_COMPLETE

三、主要仪器设备或环境

PC机;Flashcs5.5(或以上);Photoshopcs5(或以上);移动终端5套。

四、操作方法与实验步骤

1、确定作品的主题(名称、色彩配置、主题思想、使用方法等)

名称:

勇者斗恶龙

主题思想:

为了描写战斗,对勇者与恶龙设置特性,如名字,攻击力,防御力以及速度,运行游戏,出现打斗文字。

使用方法:

结果显示在输入框里

2、主题作品的设计

运行游戏后,勇者与恶龙轮流发动攻击,最后得出胜负。

3、素材的导入或制作

没有素材的导入

4、关键的操作步骤(含主要代码)及技巧

varhero:

Object=newObject();

varmonster:

Object=newObject();

hero.name="勇者";

hero.HP=500;

hero.ATT=90;

hero.DEF=88;

hero.AGI=60;

hero.skill1="普通攻击";

hero.skill2="飞刃闪";

hero.skill3="极光剑";

monster.name="恶龙";

monster.HP=1000;

monster.ATT=120;

monster.DEF=100;

monster.AGI=22;

monster.skill1="攻击";

monster.skill2="龙尾击";

monster.skill3="毁灭光线";

vartimer:

Timer=newTimer(1000);

timer.addEventListener(TimerEvent.TIMER,round)

timer.start();

functionwhoAttacks(a:

Object,b:

Object):

Array{

returna.AGI*Math.random()>b.AGI*Math.random()?

[a,b]:

[b,a];

}

functionround(e:

TimerEvent):

void{

vardamage:

Number;

varskillIndex:

uint;

varroundFight:

Array=whoAttacks(hero,monster);

varattacker:

Object=roundFight[0];

vardefender:

Object=roundFight[1];

damage=attacker.ATT*Math.random()-defender.DEF*Math.random();

if(damage<=0){

damage=0;

}else{

damage=Math.ceil(damage);

}

defender.HP-=damage;

if(damage

skillIndex=1;

}elseif(damage

skillIndex=2;

}else{

skillIndex=3;

}

trace(attacker.name+"向"+defender.name+"发动了"+attacker["skill"+skillIndex]+","+defender.name+"损失了"+damage+"点HP!

");

if(defender.HP<=0){

trace(defender.name+"终于支持不住,倒下了!

\n"+attacker.name+"取得了胜利!

");

timer.removeEventListener(TimerEvent.TIMER,round);

trace("\nGameOver");

return;

}

trace(hero.name+"HP:

"+hero.HP+"\t"+monster.name+"HP:

"+monster.HP);

}

五、实验结果

注:

可用贴图的方式

1、主要使用的知识点

使用事件驱动编写AS3.0应用程序(物体移动等的动画效果)

鼠标事件:

CLICK、MOUSE_MOVE、MOUSE_OVER、MOUSE_OUT、MOUSE_WHEEL等

键盘事件:

KeyboardEvent.KEY_DOWN(UP)等

时间函数:

TimerEvent.TIMER、TimerEvent.TIMER_COMPLETE

2、作品的效果图(至少给出3个,含制作过程及结果)

六、实验总结

注:

包括制作过程中出现的问题,实验心得体会及改进意见等

大体上了解到我们平常玩的回合游戏的制作过程,很有趣,我很喜欢这个。

不过我想要是加上图片和效果的话,难度会提升很多。

上海建桥学院实验报告

课程名称:

互动媒体制作实验类型:

设计型

实验项目名称:

找茬类事件点击类小游戏

实验地点:

多媒体机房实验日期:

2013年4月15日

一、实验目的和要求

1、巩固AS3.0中核心类及显示对象的相关概念;

2、学会MovieClip类、Sprite类的创建及使用;

3、学会AS3.0中创建动画的几种方式;

4、能够熟练运用显示对象的属性;

5、能够熟练运用timer类创建动画(效果);

6、制作满足相应要求的交互动画;

二、实验内容和原理

1、确定内容健康的主题

2、相关素材的准备

3、制作交互动画的流程图(分镜头脚本)

4、运用Timer类控制显示对象的属性来制作交互动画

三、主要仪器设备或环境

PC机;Flashcs5(或以上);Photoshopcs5(或以上);移动终端5套;数码照相机1台;数码摄像机1台;数位板1个。

四、操作方法与实验步骤

1、确定主题、设计流程图

主题:

找茬游戏

设计流程图:

2、游戏整体流程拆分

游戏开始初始化:

开始按钮定义、开始界面的设置、初始化数值

游戏主题部分:

添加三个文本框,一个计分数,一个倒计时,一个统计剩余几个错找到几个错。

添加Timer时间监听,用来倒计时。

对cuowumian、cuo1、cuo2、cuo3.、cuo4.、cuo5添加鼠标事件监听,MouseEvent.CLICK。

游戏结束部分:

移除游戏主体页面上所有东西,移除监听。

根据找出的错的个数判断是否通关,并显示在名为tf的文本框里。

添加一个Restart按钮,实现重玩的功能。

3、三大游戏流程部分功能实现

游戏开始初始化、开始界面的设置;

myStartView=newStartView();

addChild(myStartView);

myStartView.x=stage.stageWidth/2;

myStartView.y=stage.stageHeight/2;

游戏正式界面设置

functiongameStart(){

scoreField=newTextField();

scoreFn();

addChild(scoreField);

myGameView=newGameView();

addChild(myGameView);

myGameView.x=stage.stageWidth/2;

myGameView.y=stage.stageHeight/2;

allTimer=10;

timer=newTimer(1000,20);

timer.addEventListener(TimerEvent.TIMER,timerFn);

timer.start();

timeField=newTextField();

timeField.autoSize="center";

timeField.text="你还有"+allTimer+"秒";

timeField.x=400;

addChild(timeField);

myGameView.cuo1.stop();

myGameView.cuo2.stop();

myGameView.cuo3.stop();

myGameView.cuo4.stop();

myGameView.cuo5.stop();

myGameView.cuowumian.addEventListener(MouseEvent.CLICK,mianFn);

myGameView.cuo1.addEventListener(MouseEvent.CLICK,cuo1Fn);

myGameView.cuo2.addEventListener(MouseEvent.CLICK,cuo2Fn);

myGameView.cuo3.addEventListener(MouseEvent.CLICK,cuo3Fn);

myGameView.cuo4.addEventListener(MouseEvent.CLICK,cuo4Fn);

myGameView.cuo5.addEventListener(MouseEvent.CLICK,cuo5Fn);

}

游戏结束

functionendGame(){

removeChild(myGameView);

removeChild(scoreField);

removeChild(timeField);

myGameView.cuowumian.removeEventListener(MouseEvent.CLICK,mianFn);

tf=newTextField();

tf.width=300;

if(score==5){tf.text="恭喜你通关了";}

else{tf.text="很遗憾,请大侠重新来过";}

varformat:

TextFormat=newTextFormat();

format.font="_sans";

format.color=0xFF0000;

format.size=50;

format.underline=true;

tf.x=(stage.stageWidth-tf.width)/2;

tf.y=(stage.stageHeight-tf.height)/2;

tf.autoSize="center";

tf.defaultTextFormat=format;

addChild(tf);

myGameView.cuowumian.removeEventListener(MouseEvent.CLICK,mianFn);

myEndBt=newButton();

addChild(myEndBt);

myEndBt.label="Restart";

myEndBt.x=(stage.stageWidth-myEndBt.width)/2;

myEndBt.y=300;

myEndBt.addEventListener(MouseEvent.CLICK,restartFn);

}

4、游戏主体部分操作步骤(含主要代码)及技巧

importfl.controls.Button;

importflash.events.MouseEvent;

importflash.utils.Timer;

importfl.motion.MotionEvent;

importflash.text.TextField;

importflash.display.Sprite;

importflash.text.TextField;

importflash.text.TextFormat;

varallScore:

int=5;

varmyStartBt:

Button;

varmyStartView:

StartView;

varmyGameView:

GameView;

varmyEndBt:

Button;

vartimer:

Timer;

varscore:

int;

varscoreField:

TextField;

vartf:

TextField;

varallTimer:

int;

vartimeField:

TextField;

init();

//游戏开始初始化

functioninit(){

//开始按钮定义

myStartBt=newButton();

addChild(myStartBt);

myStartBt.x=(stage.stageWidth-myStartBt.width)/2;

myStartBt.y=300;

myStartBt.label="Start";

myStartBt.addEventListener(MouseEvent.CLICK,myStartBtFn);

//开始界面的设置;

myStartView=newStartView();

addChild(myStartView);

myStartView.x=stage.stageWidth/2;

myStartView.y=stage.stageHeight/2;

//数值初始化

score=0;}

functionmyStartBtFn(e:

MouseEvent){

removeChild(myStartBt);

removeChild(myStartView);

myStartBt.removeEventListener(MouseEvent.CLICK,myStartBtFn);

gameStart();}

//游戏正式界面设置

functiongameStart(){

scoreField=newTextField();

scoreFn();

addChild(scoreField);

myGameView=newGameView();

addChild(myGameView);

myGameView.x=stage.stageWidth/2;

myGameView.y=stage.stageHeight/2;

allTimer=10;

timer=newTimer(1000,20);

timer.addEventListener(TimerEvent.TIMER,timerFn);

timer.start();

timeField=newTextField();

timeField.autoSize="center";

timeField.text="你还有"+allTimer+"秒";

timeField.x=400;

addChild(timeField);

myGameView.cuo1.stop();

myGameView.cuo2.stop();

myGameView.cuo3.stop();

myGameView.cuo4.stop();

myGameView.cuo5.stop();

myGameView.cuowumian.addEventListener(MouseEvent.CLICK,mianFn);

myGameView.cuo1.addEventListener(MouseEvent.CLICK,cuo1Fn);

myGameView.cuo2.addEventListener(MouseEvent.CLICK,cuo2Fn);

myGameView.cuo3.addEventListener(MouseEvent.CLICK,cuo3Fn);

myGameView.cuo4.addEventListener(MouseEvent.CLICK,cuo4Fn);

myGameView.cuo5.addEventListener(MouseEvent.CLICK,cuo5Fn);}

functiontimerFn(e:

TimerEvent){

allTimer--;

timeField.text="你还有"+allTimer+"秒";

if(allTimer<0){

timer.stop();

timer.removeEventListener(TimerEvent.TIMER,timerFn);

endGame();}}

functionmianFn(e:

MouseEvent){

allTimer--;}

functionscoreFn(){

scoreField.text="已找到"+String(score)+"错,剩余"+String(allScore-score)+"处错";

scoreField.width=300;}

functioncuo1Fn(e:

MouseEvent){

myGameView.cuo1.removeEventListener(MouseEvent.CLICK,cuo1Fn);

myGameView.cuo1.gotoAndStop

(2);

score++;

scoreFn();

allTimer+=2;

trace(score);

if(score==5){

timer.stop();

endGame();}}

functioncuo2Fn(e:

MouseEvent){

myGameView.cuo2.removeEventListener(MouseEvent.CLICK,cuo2Fn);

myGameView.cuo2.gotoAndStop

(2);

score++;

scoreFn();

allTimer+=2;

trace(score);

if(score==5){

timer.stop();

endGame();}}

functioncuo3Fn(e:

MouseEvent){

myGameView.cuo3.removeEventListener(MouseEvent.CLICK,cuo3Fn);

myGameView.cuo3.gotoAndStop

(2);

score++;

scoreF

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

当前位置:首页 > PPT模板 > 节日庆典

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

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