频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发工具应用教程 -> Flash教程 -> 用flash制作简单拼图游戏(2)

用flash制作简单拼图游戏(2)

作者:未知  来源:http://edu.chinaz.com  发布时间:2005-7-18 23:15:20  发布人:acx

减小字体 增大字体

第三步:制作用来判断位置的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测试一下吧!

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

  原文件下载学习

将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· 给新手的一些话:心态放..
· Flash组件之旅(1):认识..
· 用Xml2OleDb将XML文件插..
· PHP入门
· 用Photoshop制作数码点阵..
· 开发者建议 创建Flash站..
· CSS的Float(浮动)概念..
· 网页标题和网页Meta的一..
· 美一大学生建网站造假登..
· 谷歌为游戏中广告申请专..
· 网页制作深入浅出1
· 如何利Mcrypt扩展库进行..
· 如何实现将用户上传的文..
· 利用Java实现zip压缩/解..
· Flash和Asp数据库的结合..
· 强制弹出页面+自动最小化..
相关文章
· 利用FLASH 8绘图功能..
· 网页页面中如何用Javascrip..
· 利用FlashMX的AS画线..
· 教你用FLASH做飞鸟效..
· 怎么用flash用javescript控..
· 用FLASH怎么去画动画人物及..
· 用Flash容易地制作一..
· 用Flash设计情人节贺..
· 用flash制作360度人物旋转
· 用Flash和FlashForge..
· 用Flash制作老电影播..
· 用Flash制作简易的图..
· 韩国菜单中文化图解-..
· 使用flash来获取mp3的近似总..
· 用Flash做苹果按钮完..
· 谈谈自己使用flash和JAVA联..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号