拼图游戏actionscript

拼图游戏actionscript

ID:23628728

大小:135.01 KB

页数:29页

时间:2018-11-09

拼图游戏actionscript_第1页
拼图游戏actionscript_第2页
拼图游戏actionscript_第3页
拼图游戏actionscript_第4页
拼图游戏actionscript_第5页
资源描述:

《拼图游戏actionscript》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本章将综合运用ActionScript3.0的知识,编写一个具有一定复杂度的拼图游戏。游戏中将加载一副外部图像,并生成随机拼图。用户可以通过鼠标控制图块,也可以通过键盘控制图块。游戏还具有简单的录像功能,能够记录和还原用户的操作。13.1 程序分析在开始编写游戏代码之前,需要分析游戏的功能和模块划分,确定用户的操作方式。13.1.1 游戏功能游戏能够加载一副外部图像,并动态的创建游戏场景。在玩家执行游戏时,程序创建如图13-1所示的游戏场景。图13-1 拼图游戏场景游戏场景中包含三种主要元素:游戏舞台、位图画板、空白画板。加载的外

2、部位图被分割为众多小块,每个小块对应一个位图画板。空白画板是一个自由区域,允许用户将其他位图画板移动至该区域。游戏舞台提供了游戏的屏幕界面,是所有游戏元素的载体。13.1.2 操作分析交互游戏必须提供交互功能。游戏中将会有鼠标控制和键盘控制两种交互方式。当用户使用鼠标操作游戏屏幕画板时,游戏程序需要处理画板的移动。所有的位图画板都能够接受用户的鼠标单击。但是只有空白画板邻接的位图画板才能移动。即只有空白画板上方、下方、左侧、右侧相邻的位图画板可以被移动。鼠标控制将是游戏的主要控制方式。但是,游戏也能提供键盘控制方式。用户仅依靠四个

3、方向键,就可以完成游戏。当用户按下方向键时,游戏能智能寻找合理的位图画板,并移动和交换该画板同空白画板之间的位置。13.1.3 模块划分位图画板和空白画板具有许多相同的属性,例如大小、屏幕位置等。所以可以设计一个模块,管理位图画板和空白画板。在本例中,使用GameSlot类管理所有的屏幕画板。位图画板和空白画板都是屏幕画板。位图画板拥有图像信息,而空白画板只包含单色填充信息。为了操作分割成小块的位图数据,程序需要建立相应的模块。本例中将建立ImgSlot类管理位图图块,每一个位图画板都包含一个位图图块。空白画板也包含一个位图图块,

4、但是该图块仅包含单色填充。根据以上分析,可以将ImgSlot类的实例作为成员添加至GameSlot类中。13.1.4 执行过程游戏将首先加载外部图像,并利用相关算法将其切割为小块。所有的位图图块都会以随机的次序装入屏幕画板,不能有遗漏。在游戏场创建后,程序必须侦听用户的交互操作。用户会提供操作命令,移动屏幕画板。程序根据用户的指令,交换屏幕画板的位置。在本例中,位图画板之间不能交换,只有位图画板和空白画板之间可以交换位置。游戏进行时,用户采用鼠标或者键盘调整屏幕画板的位置,程序要及时检查画板位置,当所有的位图画板处在正确位置时,游

5、戏玩家就能取得胜利。13.2 编写游戏原型对于功能较为复杂的项目,一般需要开发一个实现最核心功能的原型。在编写原型的过程中,实现游戏的最基本结构和功能。除了最基本的程序功能之外,原型中应该包含丰富的调试信息输出,以便于程序代码的追踪和改进。在本例中,游戏原型被限定为最基础的程序支持功能。本节要建立的游戏原型如同一幢建筑的地基,在最终的作品中发挥基础的作用。从编码风格的角度考察,在编写游戏原型时采用的代码更趋于清晰和易懂,而不是偏重性能和效率。13.2.1 创建游戏舞台本节将详细介绍如何创建游戏的舞台。(1)项目准备。运行Flash

6、CS3IDE环境。新建ActionScript3.0项目“imgpuzzle.fla”,舞台宽度设置为550像素,高度设置为400像素。准备一幅宽390像素、高390像素的图像,命名为“img.gif”。将图片“img.gif”同imgpuzzle.fla置于同一文件夹内。(2)创建加载器。选中项目“imgpuzzle.fla”的第一帧,打开代码编辑器输入以下代码:varimgpath:URLRequest=newURLRequest("img.gif");varimgloader:Loader=newLoader();imglo

7、ader.load(imgpath);这段代码创建一个Loader加载对象,用来载入外部图像文件“img.gif”。考虑到加载的速度不可能同代码的执行一致,应该在程序中使用事件侦听,处理加载成功的事件通知。Loader类不能直接处理加载事件,必须在Loader对象的contentLoaderInfo属性对象上绑定事件侦听器。imgloader.contentLoaderInfo.addEventListener(Event.COMPLETE,onloaddone);这一行代码将一个名为onloaddone的事件侦听器同加载对象的E

8、vent.COMPLETE事件绑定。当图片加载完成后,FlashPlayer将发送Event.COMPLETE事件,触发该侦听器。由于是原型,此处暂时不追踪图片的加载进度消息。(3)保存全局位图对象。在编写事件响应函数的函数体之前,应该考虑程序中所

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。