用flash制作简单拼图游戏
2008-04-02 11:03:17来源:互联网 阅读 ()
可能有很多玩Flash的朋友都曾和我相同想自己动手制作一个拼图游戏,但是苦于不知道实现的方法或不了解ActionScript(以下简称AS)而心存遗憾。别急,今天盗匪就告诉您如何利用Flash常用的AS制作一个简单的拼图游戏,我所说的简单可不是将图片简单的拼凑到一起的那种简单拼图啊。
做好的成品如下:大家能够用鼠标将上面的图像碎片拖到下面的方框内的合适位置,为方便大家找位,游戏给出了有一定透明度的原图作为参考。大家能够发现这个游戏还设计了一个“吸附”功能,能够让您将拼图片轻松地整齐排列,同时游戏还会自动判断拼图是否全部正确完成。
制作步骤:
第一步:图片的准备工作
既然是拼图,当然首先就要有图片了,我找到的是一幅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.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 更改实例的类型
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash