ActionScript游戏开发手册

拼图

要求:
九个方格,八个图片,每次进入游戏的时候随机摆放图片,经过移动之后可以得到完整的总体图即算成功。
做法:

1.根据提供素材分别取实例名,假设为:1~9。
2.将实例名顺序放入预先定义的数组之中。
3.为了实现在进入游戏的时候就是随机的图片,于是将数组内的实例名通过random()随机交换。
4.将交换之后的数组依次取出放到舞台上。
5.通过控制键盘的方向键(上下左右)实现滑块的上下左右移动。
6.每次移动之后判断拼图是否已经完成,通过判断数组的实例名编号是否是顺序的。

代码综述:

PuzzleGames.as文件包括以下方法:PuzzleGame构造方法继承与MovieClip类;Reset()方法;randRange()方法,setPos()方法,onKeyboardUp()方法,Exchange()方法,checkFinish()方法。

代码详细分析

  • .fla在导出.swf的时候自动运行自己的类,即自己的构造方法,通过构造方法的自动运行,从而运行构造函数当中的方法Reset(),同时为舞台增加键盘监听事件;
  • Reset()方法分析:对在构造方法里声明的数组m_Array[]进行赋值,按序赋值为九个小图片的实例名,接着通过random()对其中的数组进行随机交换randRange(),然后调用setPos()将按照数组里的实例名依次排序,形成随机乱序的拼图。
  • randRange()方法分析:通过调用math.random()函数进行第二次方法构造形成在调用randRange()函数时生成指定范围内的数字。
  • setPos()方法分析:对m_Array[]数组内的实例依次排列在舞台上,设置每个实例的横纵坐标即可。
  • onKeyboardUp()方法分析:监听键盘的每一次键盘点击之后向上弹起的事件‘addEventListenerKEY_UP’,对键盘的每一个keyCode进行判断,如果敲击的是‘空格’便执行Reset()方法,重置拼图,如果点击的是方向键,便执行Exchange()方法,根据方向键的不同,传入不同的参数。同时对每一次的键盘敲击之后执行checkFinish()方法用以检查当前拼图是否已经完成。
  • Exchange()方法分析:对每次绿块以及想移动的滑块进行调换,同时记录每次绿快的位置,即m_nRow, m_nCol,以便下次进行转换的时候依旧转换的是绿块以及想要移动的滑块。然后重新setPos().
  • checkFinish()方法分析:对每次键盘点击之后进行一次检查拼图是否已经拼好,即只需要判断m_Array[]的值是否依次与实例名相等,如果全部相等,则说明拼图已经拼好。

打字游戏:

根据游戏功能,代码主要分为二大模块,分别负责对准确度及速度的计算。

主要方法有:

  • Monitor() 初始化页面
  • onKeyboardUp() 键盘点击事件
  • onMouseClick() 鼠标点击事件
  • removeChar() 对空格、换行等无效字符串进行剔除,使用正则。
  • Computer() 对于准确度的计算
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,625评论 0 4
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,853评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,810评论 19 139
  • 铁娃很喜欢#喜马拉雅#上个人发展学会的节目《幸会!在一个简单的理想国》,快来听一听吧! 云在青天,水在瓶; 一草一...
    54f70f613c7c阅读 1,688评论 0 0
  • 声明:此文章是做个人笔记查阅用的,不是供他人来抨击抄袭的!!! 与C、C++一样,Objective-C也使用“头...
    名扬丶四海阅读 3,630评论 2 2

友情链接更多精彩内容