欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 多媒体动画 >> Flash教程 >> Flash游戏实例教程 >> 教程正文

  没有公告

教程: Flash教程-Flash游戏实例教程-flash游戏杀狗大赛 更多...
教程: Flash教程-Flash游戏实例教程-flash游戏杀狗大赛

帧建立关键帧。右键单击第5到第10帧间任一帧,creat motiontween建立运动动画,同样在第20到25帧建立运动动画。inster---symbol...新建一个button命名为grid,insert---keyframe在hit帧上创键关键帧,画一个矩型。返回pigmovie,insert---layer新建一层layer2,insert---keyframe在第5帧建立关键帧,从library中拖放grid到lyer2,删除lyer2上21-25帧。insert---layer新建一层lyer3,insert---blank keyframe在第1,5,20帧建立空白关键帧,左键双击第一帧弹出action面板,
basic action---stop,单击第5帧,window---panel---frame弹出 frame面板,将lable设置为up,同样将20帧的frame lable设为down。我们在这里为frame设置lable值是为了方便我们用actionscript进行跳转,在flash中可以设置是按帧位置数或帧标签跳转,通常使用的是标签方式,可以减少发生错误的机率并使你的actionscript更具有可读性。我们回到scene 1,insert---layer新建一层改名为dog,从library中拖放dogmovie到这一层,复制9个,使每一个dogmovie都正好处在background层中每一个黑色椭圆长轴以下。

mask遮照层

  遮照的概念是:遮罩层可以遮盖任何同遮罩层相关联的图层(被遮层)里的内容。
在scene 1中insert layer并将此层改名为mask,以background层上的黑色椭圆长轴为基准,画一个矩形,并使此矩型比dogmovie稍大一点,复制九个排列好。右击此层在弹出菜单中选mask,这样,我们就做好了一个遮照。也就是说在dog层上的所有原件除非出现在本层9个矩形范围以内否则便都是不可见的了。由于现在dog层上并没有任何的原件在此范围内,所以虽然我们在dog层上放了9个原件但我们将只能看到
background层上9个黑色hole,但记得吗,我们做的dogmovie是上下移动的movieclip,而当其向上云动时就会显示在屏幕上,而向下运动就会从屏幕上消失。这样就达到了我们让小狗一进一出的目的。但是有个严重的问题,我们的9个dogmovie会同时运动,而不是象我们希望的那样一个一个的运动,别急,下面就该我们的主角actionscript出场了。

随机运动

  双击pigmovie中的第一帧,在action面板中的basic action中选取stop()。
单击dog层上的一个dogmovie,window---panels---instance将name设为dog0。依次将其它的dogmovie命名为dog1,dog2.....dog8。在scene1中新建一层action, 在第5帧新建关建帧,双击第5帧,输入actions如下:

tellTarget ("/dog" add random(9)) {
gotoAndPlay ("up");
}

random(9)是从0-9中任取一数,add 是一个字符传连接符,用来连接"/dog"和random(9)得到的数。telltarget的语法是:

telltarget(target);

target:指定时间轴线的目标路径字符串
statement:目标时间轴线代码
tellTarget ("/dog" add random(9))执行后的结果是调用/dog0,/dog1....../dog8,而gotoAndPlay ("up")从up帧开始播放,这就达到了
我们dogmovie随机出现的目地。

鼠标替换

  为了使游戏更真实,我们应当屏闭掉默认的鼠标图形,并用我们做好的movieclip来代替它。先insert---symbol...新建一个moviclip原件命名为knife,双击第一帧,在action面板中的basic action中选取stop(),在第二帧画一把刀,第三帧在刀边画上一串血花。回到scene1,把knife拖拽到background层,并命名为knife,在action层的第4帧建立关键帧,并输入如下actions:

mouse.hide()
startDrag ("knife", true);

mouse.hide()把默认的鼠标隐藏起来。startdrag的语法是:

startdrag(target);
startdrag(target,[lock]);
startdrag(target,[,lock[,left,top,right,bottom]]);

target:待拖动的movie clip的目标路径
lock: 布尔值,用来指定是把可拖动的movie clip锁定在鼠标中央位置(真),还是锁定在用户最初在movie clip上单击的位置(假)。
这个参数是可任选的。
left,right,top,bottom:指定动画的父代movie clip的限制矩形区域。这个参数是可任选的。
这样我们就可以用knife来取代默认的鼠标。

计分与轮次:

  我们预定游戏10个回合后结束,并且每个回合都要计算本轮得分与总分。10回合后游戏结束。首先来看看怎样实现计算游戏回合:
  双击action层上第四帧输入:ROUND="0",单击第5帧在frame面板上定义lable为:again,在第30帧建立关键帧,并将其frame lable定义为back,双击action层上第26帧输入actions如下:

ROUND = Number(ROUND) 1;
if (Number(ROUND)<11) {
gotoAndPlay ("again");
} else {
gotoAndPlay ("BACK");
}

  这样我们用一个条件选择完成了循环。当ROUND小于11时将不断循环,而ROUND等于11时将跳到结尾。

游戏的计分方式为越快击中小狗分数越高。

在scene1中新建一层名为point,从第5帧到第25帧建立关键帧,并切依次输入

actions如下:POINT="200",POINT="190"......POINT="0"。
在scene1中新建一层名为text,用text tool拖出一个文本框,window---panels---text opion,在text opion面板中定义文本框为input text,
varable为score。双击action层第25帧,输入如下actions:
Tatal = Number(Tatal) Number(Point);
Score = Tatal;

  其中tatal为总分,point为本轮得分,number是actions中的一个函数,用来将参数,变量或表达式的值转换成数值。而Score = Tatal使得我们可以在score文本框中显示score即tatal的值。

鼠标动作:

  现在的问题是我们该如何使得flash知道我们是否打中了小狗,是否得分,而且一旦我们打中小狗,小狗应当立刻钻回黑洞。要想实现这种效果,显然我们应当使用鼠标动作。还记得我们开始时在dogmovie中加入的按钮grid吗?开始编辑dogmovie原件,新建一层lable,将第5帧的frame lable设为up,第20帧的frame lable设为down。最后给按钮grid加上如下actions:

on (release) {
gotoAndPlay ("DOWN");
tellTarget ("../knife") {
gotoAndPlay ("UP"); }
tellTarget ("..") {
gotoAndPlay ("END");
}
}

on 的语法是:

on(mouseevent)

statement: 鼠标事件发生时执行的代码
mouseevent是鼠标事件,包括有:
press: 鼠标指针在按钮上并单击
release: 鼠标指针在按钮上被释放
releaseoutside: 鼠标指针在按钮外被释放
rollover: 鼠标指针移进按钮区域内
rollout: 鼠标指针移出按钮区域内
dragover: 鼠标指针在按钮上被按下,移出按钮再移回
keypress: 鼠标指针在按钮上,然后鼠标按下,再移出按钮区域

  这段actions的含义是:当此按钮被鼠标点击时,影片跳至framelable为down的帧开始播放,代替鼠标动画的movieclip开始在frame lable为
up处播放,而scene1则跳转至frame lable为end处播放。

加入音乐

  对于一个游戏,音乐是不可或缺的。首先我们来分析一下有哪些地方需要并需要哪种音乐。首先肯定要有背景音乐,而当打中小狗时也应当有声效的配合。回到scene 1,file---import,导入您喜欢的背景音乐,要注意的是,最好导入mp3格式的文件,这样不会导致你的源文件过大,而且音乐的长短最好和你的影片一样长,根据你的影片播放速度(比如12 frames/秒),你就可以估算出大概的播放时间并以此为依据寻找音乐。
  在scene1中新建一层名为sound,从library里把音乐素材拖到sound中,window---panels---sounds弹出sound面板,在sync中设为stream,这样音乐会和动画同步播放,不会有大的失真。编辑knife原件,新建一层,file---import,导入您喜欢的音效,在第2帧新建关键帧,从library里把音效拖放到这一帧。

好!现在完成了整个游戏的制作,希望本文能对您熟悉flash的基本操作,了解actionscript语法有所帮助。



上一页  [1] [2] [3] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    3DsMAX实例制作:三维玻璃灯泡

    3dmax在线教程--蝴蝶

    3ds max时尚水晶鞋

    精彩Flash制作风吹草动效果动画

    教程: 3DS Max-设计实例-三维虚拟…

    3dmax7.0教程--火焰特效

    绘画技巧:Flash绘制人头造型

    3ds max 室内设计---室内效果图
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网