android推箱子实验报告,android开发——推箱子小游戏(前序)
1、前言这是本人在CSDN社区发布的第一篇文章,主要有两个目的:一是方便我后期回忆一些知识点。二是将本身所掌握的东西(代码也好,思路也罢)分享给须要的人。本章不写任何逻辑代码,只对本项目作一个介绍、需求分析、原理分析本文其余的能够不看,可是我我的建议看一下后面的原理分析,有助于理解逻辑java本人并不是什么大神,文章有什么不正确的地方,还望各位大神不吝赐教,不胜感激!web2、项目介绍开发语言:j
1、前言
这是本人在CSDN社区发布的第一篇文章,主要有两个目的:
一是方便我后期回忆一些知识点。
二是将本身所掌握的东西(代码也好,思路也罢)分享给须要的人。
本章不写任何逻辑代码,
只对本项目作一个介绍、需求分析、原理分析
本文其余的能够不看,可是我我的建议看一下后面的原理分析,有助于理解逻辑java
本人并不是什么大神,文章有什么不正确的地方,还望各位大神不吝赐教,不胜感激!web
2、项目介绍
开发语言:java
开发环境:Android Studio
推箱子 一款很是经典的小游戏,玩法简单,却考验人的逻辑思惟。
咱们接下来要作的就是从无到有的开发出一款属于本身的推箱子游戏数组
项目需求分析
三个基础界面
一、开始游戏界面
二、游戏关卡选择界面
三、开始游戏界面svg
三种主要逻辑代码
一、地图加载
二、人物上下左右
三、通关监听xml
3、原理分析
看完了基本的项目介绍,接下来对推箱子的实现原理分析一下。
我我的认为最关键的点在于:要清楚地图并不是是一张的、总体的图。地图上的全部东西都是由一个个独立的块组成的,例如:墙、箱子、人物等,都是一个个独立的存在,它们按必定的位置放置,组成了一张看似完整的地图。
再准确的说,地图界面其实是一个以单位正方形组成的表格,而后表格上的每一个正方形都放了一张图片,因此就造成了咱们眼睛所看到的一整张地图。
这就是咱们所说的二维数组,地图实际上就是一组二维数组数据,地图上的每个物体都具备一个二维坐标。
说完画地图的原理后,再想一想移动人物、推进箱子的本质原理。咱们点击移动按钮的时候真的是人物在移动吗?
事实上并非的,上面讲到了地图的原理,很容易就能知道,其实人物并无移动,只是地图(二维数组)上加载的图片数据变了,例如,假设当前加载人物图片的数组下标为(5,6),其中5为列数,6为行数,当咱们想要人物左移的时候,只须要把(5,6)的图片数据改成“路”的图片,把(5,5)的图片数据改成人物的图片,而后刷新,从新渲染就OK了。
因为程序执行的速度很是快,因此人眼看起来是人物在移动,但其实是那个位置的数据改变了而已。
因为本人水平有限,讲得也许并非那么得简明清楚,但状况大概就这么回事儿。但愿看了以后能对你有所帮助,触类旁通。blog
4、最后
下一篇才是真正的推箱子实现文章,但愿本章的肺腑之言(简称:肺话)能让你对与这个游戏的代码实现有必定的了解,特别是原理那一块。
图片资源文件若是须要的话,能够在评论留下你的邮箱,后期若是人多的话,我再上传百度云吧。下面贴张成品图,有助于理解原理。
游戏
更多推荐
所有评论(0)