目录
1.项目介绍2.项目原理3.项目设计4.项目实现5.获取布局6.准备图片7.初始化item8.游戏图片的切换9.游戏胜利的判断10.游戏封面1.项目介绍
这是一款基于 Java 开发的移动端安卓小游戏——大家来拼图
2.项目原理
把选定的一张图片切分很多份,先是 33 格式,在一定的时间内点击格子交换使图形拼成一张完整的图片就算闯关成功,这样关卡也很容易设计,33;44;55;6*6;
3.项目设计
我们需要一个容器,可以放这些图片的块块,为了方便,我们准备使用RelativeLayout
配合 addRule
实现
每个图片的块块,我们准备使用 ImageView
点击交换,我们准备使用传统的 TranslationAnimation
来实现
4.项目实现
代码实现:
首先,我们准备实现能够把一张图片,切成 n*n 份,放在指定的位置;
我们只需要设置 n 这个数字,然后根据布局的宽或者高其中的小值,除以 n,减去一些边距就可以得到我们 ImageView
的宽和高了
5.获取布局
构造方法里面,我们得到把设置的 margin
值转化为 dp;获得布局的 padding
值;整体是个正方形,所以我们取 padding
四个方向中的最小值;
onMeasure
里面主要就是获得到布局的宽度,然后进行图片的准备,以及初始化我们的 Item
,为 Item 设置宽度和高度
6.准备图片
这里如果没有设置 mBitmap
就准备一张备用图片,然后调用 ImageSplitter.split
将图片切成 n * n 返回一个 List,这需要新建一个图片切割类 ImageSplitterUtil
切完以后,我们需要将顺序打乱,所以我们调用了 sort 方法,至于比较器,我们使用 random 随机比较大小,这样我们就完成了我们的乱序操作,这里要新建一个 ImagePiece 类来保存图片以及索引。
7.初始化 item
Item宽的计算:childWidth = (mWidth - mPadding * 2 - mMargin * (mColumn - 1) ) / mColumn;
容器的宽度,除去自己的内边距,除去Item间的间距,然后除以Item一行的个数就得到了Item的宽
接下来,就是遍历生成Item,根据他们的位置设置Rule
8.游戏图片的切换
要实现点击两个 Item,他们的图片能够发生交换,B 隐藏副本动画移动到 B 的位置;B 副本移动到 A 的位置
把图片设置为 B,把 B 副本移除,A 显示,这样就完美切合了,用户感觉是 B 移动过去的
B同上
9.游戏胜利的判断
遍历所有的 Item
,根据 Tag 拿到真正的索引和当然顺序比较,完全一致则胜利~~胜利以后进入下一关
10.游戏封面
添加一张背景图片,写入游戏名字(大家来拼图),再设置几个按钮,然后点击开始跳转到游戏内容界面。
项目效果展示:
到此这篇关于Java实现Android拼图游戏设计过程解析的文章就介绍到这了,更多相关Java实现Android拼图游戏设计内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?