首 页 网站运营 网络编程 网页制作 图象媒体 数据库 建站资源 网管专区 下载专区 最新资讯
IT学堂|红色黑客联盟
设为首页
加入收藏
联系站长
您所在的位置:首页>图象媒体>FLASH>文章内容
Flash AS游戏教程:用flash制作简单拼图游戏
来源: 作者: 发布时间:2007-04-13

可能有很多玩Flash的朋友都曾和我一样想自己动手制作一个拼图游戏,但是苦于不知道实现的方法或不了解ActionScript(以下简称AS)而心存遗憾。别急,今天盗匪就告诉你如何利用Flash常用的AS制作一个简单的拼图游戏,我所说的简单可不是将图片简单的拼凑到一起的那种简单拼图啊。

做好的成品如下:大家可以用鼠标将上面的图像碎片拖到下面的方框内的合适位置,为方便大家找位,游戏给出了有一定透明度的原图作为参考。大家可以发现这个游戏还设计了一个“吸附”功能,能够让你将拼图片轻松地整齐排列,同时游戏还会自动判断拼图是否全部正确完成。

SWF成品(下载请点击右键选择“目标另存为”)

制作步骤:

第一步:图片的准备工作

既然是拼图,当然首先就要有图片了,我找到的是一幅320*240象素的jpg图片,通过Fireworks将其切割成12块(每块80*80px),然后分别保存成12个jpg小图片备用,名称最好有一定规律,比如我将他们分别命名为pic1~pic12,当然你也可以利用其他图象处理工具来实现这一步。

第二步:建立Flash文件

打开今天的主角——Flash,通过菜单Modify Document...或Ctrl+J打开Document Properties面板(由于盗匪使用的是Flash MX,一些快捷键可能与Flash 5的有所不同,不过盗匪会尽量给出Flash 5中相应的快捷键的,这个在Flash 5中的快捷键是Ctrl+M),将画面大小改为400*600px,其他可以保持默认值。

第三步:制作用来判断位置的Movie Clip

在场景中通过菜单File Import或Ctrl+R导入12块已经处理好的小图片,然后按照原图顺序摆放在场景的下半部,选中左上角第一块,选择菜单Insert Convert to Symbol或按F8键,在弹出的Convert to symbol面板中选择Movie Clip(以后简称MC),控制点选择在图片中心(这一点很重要,Flash 5中可能没有这个选项,不过好在Flash 5的默认值就是中心),name为check1(也可以根据自己的习惯取名),其余的图片用同样的方法处理。

然后选择菜单Window Properties或Ctrl+F3,打开Properties面板,按顺序为这些图片分别填写Instance Name为b1~b12,以便以后在Action中调用.选中所有MC(Ctrl+A),将他们的Alpha属性设置为30%,这样做只是为了使MC看上去模糊,让玩家不能清楚地辨认出是哪部分,以增大游戏难度。

第四步:制作用来拖拽的MC

这是比较重要的一步,我们将利用这个MC来实现图块的拖拽以及位置的判断,在这里我们运用了MC中嵌套Button的方法以实现代码重用,这是个很重要的方法,希望大家加以重视.

选择菜单Insert New Symbol...或Ctrl+F8新建Button(以下简称BT),取名为button_body,确定后进入编辑界面,在Timeline(时间线)中右键单击Hit帧,在快捷菜单中选择New Keyframe建立关键帧 ,选择矩形工具(R),绘制一个矩形,选择选取工具 (V),双击矩形,在Properties面板中将宽、高、X坐标、Y坐标分别设置为80、80、0、0;新建MC 取名button_action,确定后进入MC编辑窗口,Ctrl+L打开Library(库),将刚刚建立的button_body拖进来,同样将X、Y坐标设置为(0,0).

下面开始为BT(按钮)添加AS,选中刚才拖进来的button_body,通过菜单Window Actions或F9键(Flash 5中为Ctrl+Alt+A)打开Actions面板,利用快捷键Ctrl+Shift+E(Flash 5 中为Ctrl+E,前提是选中了Actions面板)转换到Expert Mode(专家模式,这个模式下编写AS比较灵活,建议使用),填入下面的代码:

on (press) {//按下鼠标

startDrag(_parent, false, 50, 50, 350, 550);//使图块可以在一定范围内被拖拽

}

on (release) {//释放鼠标

stopDrag();//停止拖拽

for (i=1; i <=12; i++) {//判断图块所在位置

if (_parent._x <=eval("_root.b"+i)._x+40 and _parent._x> =eval("_root.b"+i)._x-40 and

_parent._y <=eval("_root.b"+i)._y+40 and _parent._y> =eval("_root.b"+i)._y-40) {

//如果被拖拽的图块中心点进入某个判断位置的MC的范围内时

_parent._x = eval("_root.b"+i)._x;//设置图块的坐标,使其吸附到相应的位置

_parent._y = eval("_root.b"+i)._y;

}

}

}

这样,拖拽组件button_action就制作好了,在下面的制作中将重复用到这个MC.

第五步:制作被拖拽的图块

新建MC,命名为pic1(这个名称无关紧要),确定后进入编辑窗口,在Library中将button_action拖入,设置坐标为(0,0),再从Library中将最初导入的图片pic1.jpg拖入,坐标(0,0),重复这个步骤,直到所有图块都拥有自己相应的MC.

顺便再做一个按钮,命名为button_back,用来在游戏完成后开始新的游戏.

第六步:游戏的完成工作

回到场景中,将TimeLine中已存在的层命名为"位置判断层",点击TimeLine左下角的Insert Layer按钮 ,新建三个层,分别命名为"图块层"、"AS层"和"按钮与提示层".选择"图块层",将Library中的pic1~pic12这几个MC拖入该层。特别注意:这里是MC,而不是图片,我们可以按住Ctrl键同时选择不连续的多个Symbol。按顺序在Properties面板中分别填写Instance Name为p1~p12。

选择"按钮与提示层",将第二帧设为关键帧(如果你使用的是flash 5请选择第四帧,并顺便用F5将"图块层"添加两帧内容帧),并在Properties面板(flash 5中为Frame面板)中填写Frame Label为"over",选择文字工具(A),在中间位置写入胜利后的提示,如:"Good You Win !!",再拖入button_back到合适位置,并捆绑AS:

on(release){

prevFrame();//回到前一帧,开始新游戏

//Flash 5中应该是gotoAndPlay(1)

}

现在进入冲刺阶段,选择"AS层",选择第一帧,捆绑AS:

stop();//flash 5中请将这句去掉

for (i=1; i <=12; i++) {//游戏初始化

eval("p"+i)._x = random(240)+80;//随即设置图块的位置于场景上半部的一定区域内

eval("p"+i)._y = random(160)+70;

}

_root.onEnterFrame = function() {

//flash 5中请去掉这句和最后一个"}",将下面的AS捆绑到该层的第二帧,并在第三帧捆绑gotoAnfPlay(2)

b = 0;

for (j=1; j <=12; j++) {

if (eval("p"+j)._x == eval("b"+j)._x and eval("p"+j)._y == eval("b"+j)._y) {

//判断图块是否在正确的位置上,如果是

b += 1;//变量加一

}

}

if (b == 12) {//如果所有图块的位置都正确

gotoAndStop("over");//显示胜利信息

}

};

至此,拼图游戏就制作完成了,赶快Ctrl+Enter测试一下吧!

动动脑筋,还可以为游戏添上时间限制,加大游戏的难度,或者在游戏过程中用一个按钮来隐藏/显示测试图片等




[推荐] [返回顶部] [打印本页] [关闭窗口]
热点文章
·用PhotoShop与 Flash 做飘动的云
·FLASH中变量与影片剪辑的命名讲解
·Flash MX 2004 项目管理
·多语言Flash MX 2004安装方法
·制作多语言支持的Flash应用程序
·Flash MX 2004 的历史面板(2)
·Flash MX 2004 的历史面板(1)
·Flash MX 2004 显示外部css和html文件
·Flash MX 2004 新模板应用(2)
·Flash MX 2004 新模板应用(1)
相关文章
·Flash AS基础教程:土人AS入门教程实
·Flash As基础教程:Flash AS画线方法(
·Flash AS基础教程:土人AS入门教程对
·Flash As基础教程:Flash AS画线方法(
·Flash AS基础教程:土人AS入门教程语
·FLASH MX 2004视频教程:时钟屏保(一)
·Flash AS基础教程:土人AS入门教程基
·Macromedia FlashPaper 2功能与使用详
·Flash AS游戏教程:游戏策划(下)人物
·Flash8横空出世 鲜为人知的新特性大揭
文章检索
Google
相关文章
·Flash AS基础教程:土人
·Flash As基础教程:Flas
·Flash AS基础教程:土人
·Flash As基础教程:Flas
·Flash AS基础教程:土人
·FLASH MX 2004视频教程:
·Flash AS基础教程:土人
·Macromedia FlashPaper
·Flash AS游戏教程:游戏
·Flash8横空出世 鲜为人
·flash AS游戏教程:游戏
·Flash Professional 8
·flash as进阶教程:Load
·Macromedia FlashPaper
·FLASH MX 2004视频教程: