为了账号安全,请及时绑定邮箱和手机立即绑定

快速实现不一样的移动拼图

阿旭_ 移动开发工程师
难度初级
时长 1小时17分
学习人数
综合评分9.63
35人评价 查看评价
9.7 内容实用
9.7 简洁易懂
9.5 逻辑清晰

已采纳回答 / qq_花開若相惜_0
if (isAnim) {changeDataByImageView(iv_game_arr[new_x][new_y]);} else {changeDataByImageView(iv_game_arr[new_x][new_y]);}changeDataByImageView(iv_game_arr[new_x][new_y],isAnim);} else {// 什么也不做}你这里多了个else应该是:if (isAnim) {changeDataByImageView(iv_game_arr[n...

讲师回答 / 阿旭_
看看崩溃日志会有提示,猜测是图片太大了,可以利用http://www.webps.cn/剪裁一张图片大小333*555像素的应该就可以了。我自己用你的代码+下面的图片测试了一下,是可以的。<...图片...><...图片...>

讲师回答 / 阿旭_
x 和 y 用来判断最终游戏结束时,与对应的二维数组图片的下标是否一致来决定游戏是否成功。p_x 和 p_y 用来表示图片所在的位置,当点击某个图片的时候我想知道当前图片与空方块的位置(是左边还是右边等……)解决的方法不唯一,只要你理解了一个View可以通过这种方式绑定多个数据(通常一个tag只能绑定一个值,但如果是这种class的GameData类型就可以绑定多个值)这种方式,自己设计一下也许能设计的比我设计的更好哈。

讲师回答 / 阿旭_
抱歉,慕课不许我发源码,你可以看看其它同学做的。zzlandroid照着老师的教程敲的一个样例:https://github.com/kiritozzl/PuzzleGame王正一我实现的项目源码:https://github.com/wangzhengyi/HYPinTu慕粉3288933我写了代码,地址在https://github.com/jowang2016/pintumooc 但是判断程序结束那里总是没有提示

讲师回答 / 阿旭_
AndroidManifest.xml里设置的   android:minSdkVersion的最小值要大于等于14才行。别的布局不行,因为我这个代码是针对GridLayout做的。

已采纳回答 / dky
没所谓, 视图只是浮云,  你喜欢, 用什么布局都可以,只要你是这么排列的,老师讲的算法和思路是关键

讲师回答 / 阿旭_
没有这个不行。这是通过代码创建一个小方块。如果没有的话也可以通过在activity_main.xml文件中写再去findViewById(这样写要事先在xml写3*5个,没有在代码写方便)总之不能不创建ImageView这个方块。

讲师回答 / 阿旭_
少了()new GestureDetector()如果还不行就把整个Activity代码都贴上来我看下。

已采纳回答 / 阿旭_
找到原因了,少了一句话。所以动画结束后要交换图片的时候,打印发现绑定的bm都是空的因此设置显示的图片也都是空白的。<...code...><...图片...>

讲师回答 / 阿旭_
可以把activity代码都贴上来,我帮你分析一下原因。

已采纳回答 / dky
数据逻辑层(M)视图层(V)、控制层(C)有了经验后你会理解的,  现在先看看就好

讲师回答 / 阿旭_
我这边是自己用PS做的图宽度 555 像素高底 333 像素(注:其实只要比例对了就行)

讲师回答 / 阿旭_
我这只是一个小demo,没有实现你说的最后一个是空方块的功能。这样吧,你把代码粘上来吧,就一个Activity,我帮你改改,改成你要的效果(最后一个是空方块)。这样你再粘到自己的页面上应该就能用了。
首页上一页12下一页尾页
课程须知
学完课程内讲解的代码后,可尝试修改逻辑实现“2048”小游戏
老师告诉你能学到什么?
1、注释先行:良好的代码编写风格 2、代码分层:了解MVC之间的关系。 (1)M数据:初始化在数据V之前。 (2)V视图:注意尽可能每个视图写在一块,绑定好相应的Model (3)C控制:先写控制层需要的内容注释,再写相应的实现方法。 慕课网Android讨论群② 170368200

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消