FAS程序设计项目化教程项目二少儿识图.docx

上传人:b****5 文档编号:4707854 上传时间:2022-12-07 格式:DOCX 页数:33 大小:542.73KB
下载 相关 举报
FAS程序设计项目化教程项目二少儿识图.docx_第1页
第1页 / 共33页
FAS程序设计项目化教程项目二少儿识图.docx_第2页
第2页 / 共33页
FAS程序设计项目化教程项目二少儿识图.docx_第3页
第3页 / 共33页
FAS程序设计项目化教程项目二少儿识图.docx_第4页
第4页 / 共33页
FAS程序设计项目化教程项目二少儿识图.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

FAS程序设计项目化教程项目二少儿识图.docx

《FAS程序设计项目化教程项目二少儿识图.docx》由会员分享,可在线阅读,更多相关《FAS程序设计项目化教程项目二少儿识图.docx(33页珍藏版)》请在冰豆网上搜索。

FAS程序设计项目化教程项目二少儿识图.docx

FAS程序设计项目化教程项目二少儿识图

项目二少儿识图游戏

2.1项目教学目标

能控制多场景影片

能导入声音并用脚本对声音进行控制

掌握局部变量、全局变量和时间轴变量的使用

能编写自定义函数并进行调用

掌握影片剪辑类的属性和方法

2.2项目操作过程

(1)第1步:

启动FlashProfession8,选择菜单“文件→新建”命令,在弹出的“新建文档”窗口中,选择“常规”选项卡的“Flash文档”选项。

在新建一个新的Flash文档后,再选择菜单“文件→保存”命令,在“另存为”窗口的“文件名”文本框中输入“animal”。

(2)第2步:

选中“舞台”,单击鼠标右键,在快捷菜单中选择“文档属性”,在“标题”文本框中输入“少儿识图”,在“描述”文本框中输入“少儿识图,将相应的动物图拖放到对应的动物名字上去”,在“尺寸(宽)”文本框中输入“800”,在“尺寸(高)”文本框中输入“600”,在“背景颜色”的颜色拾取器中选择“蓝色”,设置完成后如图2-1所示。

图2-1文档属性

(3)第3步:

双击图层面板中的“图层1”,将“图层1”更名为“背景层”。

(4)第4步:

选择菜单“窗口→库”命令,单击选择“库”面板中的影片剪辑“Background”。

(5)第5步:

按住鼠标左键将影片剪辑“Background”拖放至舞台中,选择影片剪辑“Background”的属性面板,在“宽”文本框中输入“800”,在“高”文本框中输入“600”,在“X”文本框中输入“0”,“Y”文本框中输入“0”。

(6)第6步:

新建一个图层2,并命名为“音乐层”,选择“音乐层”图层。

(7)第7步:

选择菜单“窗口→库”命令,单击选择“库”面板中的声音“音乐盒进行曲.MP3”。

(8)第8步:

按住鼠标左键将声音“音乐盒进行曲.MP3”拖放至舞台中。

(9)第9步:

点击“音乐层”图层的第一帧,选择“音乐盒进行曲.MP3”的属性,属性设置如图2-2所示。

图2-2“音乐盒进行曲.MP3”属性设置

(10)第10步:

选择菜单“窗口→公用库→按钮”命令,在展开的库面板中选择“playbackrounded”文件夹,选择文本夹中的“roundedgreenplay”按钮并拖放到舞台中的“背景层”上,点选“roundedgreenplay”按钮的属性面板,在“X”文本框中输入“390”,“Y”文本框中输入“482”。

(11)第11步:

用鼠标选择文本的属性面板,在“文本类型”下拉列表框中选择“静态文本”,将文本拖放在舞台中。

再次选择文本的属性面板,在“X”文本框中输入“368”,在“Y”文本框中输入“514”,在“字体”下拉列表中选择“隶书”,在字号文本框中输入“16”,在颜色面板中选择“黑色”,在文本框输入“游戏开始”。

(12)选择菜单“控制菜单→测试影片”命令,影片结果如下图2-3所示。

图2-3游戏首界面

(13)第12步:

选择菜单“插入→场景”命令。

(14)第13步:

选择菜单“窗口→其它面板→场景”命令。

(15)第14步:

用鼠标双击“场景一”将其更改为“首页”,用鼠标双击“场景二”将其更改为“游戏”,结果如图2-4所示。

图2-4场景面板

(16)第15步:

将鼠标移动至“时间轴”面板“背景层”第1帧处,选中第“1”帧,单击鼠标右键,在快捷菜单中选择“动作”。

在“脚本”编辑器中,输入如下代码:

stop();

(17)第16步:

用鼠标选择“背景层”的“roundedgreenplay”,单击鼠标右键,在快捷菜单中选择“动作”。

在“脚本”编辑器中,输入如下代码:

on(release)

{

gotoAndPlay("游戏",1);

stopAllSounds();

}

(18)第17步:

用鼠标选择“时间轴”的“场景”按钮,在展开的下菜单中选择“游戏”场景,如图2-5所示。

场景知识请阅读项目相关理论知识2.3.1。

图2-5“场景”下菜单选择“游戏”场景

(19)第18步:

双击图层面板的中的“图层1”,将“图层1”更名为“游戏背景层”。

(20)第19步:

选择菜单“窗口→库”命令,单击选择“库”面板中的影片剪辑“Background_game”。

(21)第20步:

按住鼠标左键将影片剪辑“Background_game”拖放至舞台中。

选择影片剪辑“Background_game”的属性面板,在“宽”文本框中输入“800”,在“高”文本框中输入“600”,在“X”文本框中输入“0”,“Y”文本框中输入“0”。

(22)第21步:

选择菜单“窗口→库”命令,单击选择“库”面板中的声音“ok.wav”。

(23)第22步:

在舞台用鼠标选择“ok.wav”,单击鼠标右键,在快捷菜单中选择“链接”。

(24)第23步:

在弹出的“链接属性”窗口中的“标识符”文本框中命名为“oksound”,在“链接”复选框中选择“为ActionScript导出”和“在第一帧导出”两个选项,如图2-6所示。

图2-6“链接属性”面板

(25)第24步:

选择菜单“窗口→库”命令,单击选择“库”面板中的声音“fail.wav”。

(26)第25步:

在舞台用鼠标选择“fail.wav”,单击鼠标右键,在快捷菜单中选择“链接”。

(27)第26步:

在弹出的“链接属性”窗口中的“标识符”文本框中命名为“failsound”,在“链接”复选框中选择“为ActionScript导出”和“在第一帧导出”两个选项。

(28)第27步:

选择菜单“窗口→库”命令,单击选择“库”面板中的声音“cheer.mp3”。

(29)第28步:

在舞台用鼠标选择“cheer.mp3”,单击鼠标右键,在快捷菜单中选择“链接”。

(30)第29步:

在弹出的“链接属性”窗口中的“标识符”文本框中命名为“cheersound”,在“链接”复选框中选择“为ActionScript导出”和“在第一帧导出”两个选项。

(31)第30步:

将鼠标移动至“时间轴”面板的“游戏背景”层第1帧处,选中第“1”帧,单击鼠标右键,在快捷菜单中选择“动作”。

在“脚本”编辑器中,输入如下代码:

//拼图错识的次数

_global.errortimes=0;

//需要拼图的个数

_global.total=8;

//创建一个声音对象

playOkSound=newSound();

//为playOkSound声音对象附加上声音

playOkSound.attachSound("oksound")

playfailSound=newSound();

playfailSound.attachSound("failsound")

playcheerSound=newSound();

playcheerSound.attachSound("cheersound")

以上代码实现了记录变量的初始化和为相应影片剪辑对象附加声音。

声音知识请阅读项目相关理论知识2.3.2;变量知识请阅读项目相关理论知识2.3.3

(32)第31步:

新建一个“图层3”,双击图层面板的中的“图层3”,将“图层3”更名为“信息层”。

(33)第32步:

选择“信息层”,添加五个文本对象,属性设置如表2-1所示。

表2-1文本对象属性列表

文本类型

文本命名

文本初始内容

X

Y

字体

字号

动态文本

successtxt

197

433

幼圆

28

动态文本

remaintext

32

183

494

幼圆

20

动态文本

errortxt

0

222

518

幼圆

20

静态文本

还剩下种动物待拼

119

493

幼圆

20

静态文本

你总共错了次

119

517

幼圆

20

(34)第33步:

将鼠标移动至“时间轴”面板“游戏背景层”第1帧处,选中第“1”帧,单击鼠标右键,在快捷菜单中选择“动作”,在“脚本”编辑器中的“playcheerSound.attachSound("cheersound")”语句之后追加如下代码:

functionpressForDrag(place:

String)

{

//判断板块是否在地图的正确位置上

if(eval(place)._x!

=eval(eval(place)+"bottom")._x&&eval(place)._y!

=eval(eval(place)+"bottom")._y)

{

//记住板块初始x坐标的值

x1=eval(place)._x;

//记住板块初始y坐标的值

y1=eval(place)._y;

//板块开始拖动

eval(place).startDrag();

}

}

pressForDrag函数实现了对所有板块的拖动操作。

函数知识请阅读项目相关理论知识2.3.4;逻辑表达式知识请阅读项目相关理论知识2.3.5;eval函数知识请阅读项目相关理论知识2.3.6;影片剪辑知识请阅读项目相关理论知识2.3.7。

(35)第34步:

将鼠标移动至“时间轴”面板“游戏背景层”第1帧处,选中第“1”帧,单击鼠标右键,在快捷菜单中选择“动作”。

在“脚本”编辑器中,“pressForDrag”函数体之后追加如下代码:

FunctionpressForRealse(place:

String)

{

//停止拖动

eval(place).stopDrag();

//与撞击点是否相交

if(eval(place).hitTest(eval(eval(place)+"hit")))

{

//当板块不在地图正确的位置时

if(eval(place)._x!

=eval(eval(place)+"bottom")._x&&eval(place)._y!

=eval(eval(place)+"bottom")._y)

{

//播放板块拼图正确的声音

playOkSound.start();

//如果拼图全部正确完成

if(_global.total==0)

{

//播放拼图成功的声音

playcheerSound.start();

_root.successtxt.text="你真聪明!

"

}

//将板块放在正确位置上

eval(place)._x=eval(eval(place)+"bottom")._x;

eval(place)._y=eval(eval(place)+"bottom")._y;

//显示剩余要拼的板块

_global.total=_global.total-1;

_root.remaintxt.text=_global.total;

}

}

else

{

//板块回到初始位置

eval(place)._x=x1;

eval(place)._y=y1;

//播放板块拼错的声音

playfailSound.start();

//显示拼错的次数

_global.errortimes++;

_root.errortxt.text=_global.errortimes;

}

}

pressForRealse函数实现了对所有板块的拖动后释放的操作。

(36)第35步:

选择菜单“窗口→库”命令,单击选择如表2-2的所示的影片剪辑并拖放在“游戏层”,在影片剪辑的属性面板的相应属性项设置成如表2-2所示。

表2-2拼图底板影片剪辑属性设置

属性名称

影片剪辑名称

影片剪辑命名

X

Y

pandabottom

pandabottom

47

109

pandahit

pandahit

89

148

catbottom

catbottom

197

108

cathit

cathit

239

148

horsebottom

horsebottom

347

108

horsehit

horsehit

388

148

elephantbottom

elephantbottom

500

108

elephanthit

elephanthit

544

148

koalabottom

koalabottom

49

250

koalahit

koalahit

91

293

rabbitbottom

rabbitbottom

199

250

rabbithit

rabbithit

242

293

penguinbottom

penguinbottom

349

250

penguinhit

penguinhit

393

293

tigerbottom

tigerbottom

500

250

tigerhit

tigerhit

544

293

(36)第35步:

选择菜单“控制菜单→测试影片”命令,影片进行游戏场景结果如下图2-7所示。

图2-7拼图底板设置结果

(37)第36步:

选择菜单“窗口→库”命令,单击选择如表2-3所示的影片剪辑并拖放在“游戏层”,对相应影片剪辑的属性面板中的属性项设置成如表2-3所示。

表2-3拼图动物影片剪辑属性设置

属性名称

影片剪辑名称

影片剪辑命名

X

Y

panda

panda

660

252

dog

dog

145

375

cat

cat

16

375

penguin

penguin

658

129

horse

horse

403

375

koala

koala

531

375

elephant

elephant

274

375

tiger

tiger

659

375

(38)选择菜单“控制菜单→测试影片”命令,影片进入游戏场景结果如下图2-8所示。

图2-8拼图动物影片剪辑设置结果

(39)第37步:

为“游戏层”的拼图底板设置相应的静态文本,静态文本相应设置如表2-4所示。

表2-4静态文本属性列表

文本类型

文本初始内容

X

Y

字体

字号

颜色

静态文本

熊猫

76

215

幼圆

16

#000033

静态文本

238

215

幼圆

16

#000033

静态文本

392

215

幼圆

16

#000033

静态文本

547

215

幼圆

16

#000033

静态文本

考拉

78

360

幼圆

16

#000033

静态文本

238

360

幼圆

16

#000033

静态文本

企鹅

382

360

幼圆

16

#000033

静态文本

老虎

537

360

幼圆

16

#000033

(40)第38步:

在pressForRealse函数体后追加如下代码:

_root.panda.onPress=function()

{

pressForDrag("panda");

}

_root.panda.onRelease=function()

{

pressForRealse("panda");

}

以上代码实现“熊猫”影片剪辑的拖动操作。

(41)选择菜单“控制菜单→测试影片”命令,当“熊猫”影片剪辑拼图正确的的影片结果如图2-9所示。

图2-9“熊猫”影片剪辑拼图正确的的影片结果

(42)第39步:

在_root.panda.onRelease=function()函数体后追加如下代码:

_root.cat.onPress=function()

{

pressForDrag("cat");

}

_root.cat.onRelease=function()

{

pressForRealse("cat");

}

以上代码实现“猫”影片剪辑的拖动操作。

(43)第40步:

在_root.cat.onPress=function()函数体后追加如下代码:

_root.horse.onPress=function()

{

pressForDrag("horse");

}

_root.horse.onRelease=function()

{

pressForRealse("horse");

}

以上代码实现“马”影片剪辑的拖动操作。

(44)第41步:

在_root.horse.onPress=function()函数体后追加如下代码:

_root.elephant.onPress=function()

{

pressForDrag("elephant");

}

_root.elephant.onRelease=function()

{

pressForRealse("elephant");

}

以上代码实现“大象”影片剪辑的拖动操作。

(45)第42步:

在_root.elephant.onPress=function()函数体后追加如下代码:

_root.koala.onPress=function()

{

pressForDrag("koala");

}

_root.koala.onRelease=function()

{

pressForRealse("koala");

}

以上代码实现“考拉”影片剪辑的拖动操作。

(46)第43步:

在_root.koala.onPress=function()函数体后追加如下代码:

_root.dog.onPress=function()

{

pressForDrag("dog");

}

_root.dog.onRelease=function()

{

pressForRealse("dog");

}

以上代码实现“狗”影片剪辑的拖动操作。

(47)第44步:

_root.dog.onPress=function函数体后追加如下代码:

_root.penguin.onPress=function()

{

pressForDrag("penguin");

}

_root.penguin.onRelease=function()

{

pressForRealse("penguin");

}

以上代码实现“企鹅”影片剪辑的拖动操作。

(48)第45步:

在_root.penguin.onPress=function()函数体后追加如下代码:

_root.tiger.onPress=function()

{

pressForDrag("tiger");

}

_root.tiger.onRelease=function()

{

pressForRealse("tiger");

}

以上代码实现“老虎”影片剪辑的拖动操作。

(49)选择菜单“控制菜单→测试影片”命令,游戏中某一时刻的影片结果结果如图2-10所示,游戏拼图成功完成影片结果如图2-11所示。

图2-10游戏中某一时刻的影片结果

图2-11游戏拼图成功完成影片结果

2.3项目相关理论知识

2.3.1场景

场景(scene)可以理解一个独立时间轴上所有元素的播放。

在Flash中,场景都是按主题进行组织。

例如,项目二就是用一个单独的场景用于游戏头片尾字幕、流戏简介等,另外一个场景是拼图游戏。

注意:

在包含多个场景的Flash文档时,当影片发布播放后,场景是按“场景”面板中列出的顺序进行播放,所以可以通过更改"场景"面板顺序来改变影片播放的顺序。

除了在项目一中提到的gotoAndPlay函数和gotoAndStop函数是常用的控制场景播放外,还有表2-13中两个函数也是通常用来控制场景播放并也是属于时间轴控制函数。

表2-13场景播放函数

命令

语法

中文语义

nextScene

nextScene()

影片转到下一场景的第1帧播放

prevScene

prevScene()

影片转到前一场景的第1帧播放

使用场景类似于将几个影片文件一起创建一个更大的影片文件,每个场景都有一个独立的时间轴,当影片播放到一个场景的最后一帧时,影片将继续播放到下一个场景。

当发布影片文件时,每个场景的时间轴会按顺序合并为一个时间轴,影片文件编译后,犹如使用一个场景创建了该FLA文件。

使用场景会产生会有以下缺点:

(1).场景会使Flash文档编辑不便,尤其是在多个创作环境中进行编辑时。

使用该FLA文档的人员都必须在一个FLA文件内搜索多个场景来查找代码和资源。

建议改为加载内容或使用影片剪辑。

(2).场景很容导致影片文件急剧膨胀。

因此,当影片文件可能会较大时,建议不要使用场景。

(3).场景要求用户连续下载整个影片文件,即使用户不愿或不想观看全部文件,用户都必须连续下载整个文件,而不是只加载他们实际需要的内容。

如果不使用场景,则用户可以在浏览影片文件的过程中控制想要下载的内容。

(4).多场景编辑ActionScript可能会产生意外的结果。

因为每个场景的时间轴都压缩至一个时间轴,所以可能会遇到涉及ActionScript和场景的错误,这通常需要用户进行额外的复杂调试。

2.3.2声音控制

声音(Sound)是多媒体的重要组成元素,在Flash中声音分为两种类型:

事件声音和音频流。

事件声音必须完全下载后才能开始播放,通常它将一直连续播放,除非强制停止;音频流是一种流媒体,音频流只要部分下载就可以播放,然后是一边下载,一边播放。

Flash使用声音的方式也丰富多样。

1.在时间轴中使用声音

在时间轴中使用声音是Flash中声音最常使用的方式,这种方式把声音作为音频流进行播放。

下面以在时间轴上使用C盘上的music.mp3为例说明在时间轴中使用声音的设置。

(1).将声音素材导入舞台。

用户可以选择菜单栏下“文件→导入→导入到库”来导入声音文件,在“导入”对话框中选择“c:

\music.mp3”。

(2).选择要使用声音的关键帧。

(3).将要使用的声音从库中拖放至舞台。

(4).对声音进行属性设置。

在帧属性面板对该帧的声音设置,如图2-13所示。

图2-13声音属性面板

声音的同步属性主要有以下几种:

①事件。

用这种方式设置的声音会独立于时间轴播放,只要用户没有强行中止,它会一直播放下去直到结束。

用户能通过对循环属性设置就可以指定声音循环播放的次数。

②开始。

用这种方式设置的声音时,当该帧开始播放,将停止影片中前面帧播放的声音,只播放当前帧中的声音。

③停止。

用这种方式设置的声音设置后,将立即停止播放当前帧的声音。

④数据流。

用这种方式设置的声音设置后,动画与声音同步播放,如果动画下载速度跟不上声音,将跳过相关帧而保持与声音同步。

另外,如果在播放中设置了动画停止,声音也将停止播放。

2.通过ActionScript使用声音对象Sound控制声音

虽然在时间轴中使用声音,非常简单方便。

但是在交互性动画中大量声音是随事件触发而进行播放,这使用时间轴来播放不但缺乏灵活性,而且有时无法实现播放效果。

Flash脚本语言提供了一个sound声音对象来控件事件声音播放,使Flash在声音

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

当前位置:首页 > 高中教育 > 理化生

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

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