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

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

阿旭_ 移动开发工程师
难度初级
时长 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...
判断图片是否与空图片相邻,为什么我点击后都显示false,代码是对着老师敲的

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

最新回答 / 慕粉4140763
好吧,解决了,AndroidStudio中默认的包是android.icu.text.SimpleDateFormat;而我把包替换成了java.text.SimpleDateFormat; 就解决了。

讲师回答 / 阿旭_
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
没所谓, 视图只是浮云,  你喜欢, 用什么布局都可以,只要你是这么排列的,老师讲的算法和思路是关键

已采纳回答 / 阿旭_
关键代码,在//加载关卡数据的下面追加<...code...>第二关图片如下<...图片...>效果演示<...图片...><...图片...><...图片...><...图片...>

已采纳回答 / 阿旭_
之前加判断是为了首次随机打乱顺序的时候不要做判断,后来加的游戏结束判断是用来每滑动一个方块等动画结束后都判断是下当前位置是不是全有的都是真实的位置 来决定游戏是否结束。解决一个问题不是只有一种方法,如果有觉得更好的方法,你也可以按自己的理解去改改代码。总而言之,只要理解了实现某个功能的方法,剩下的你自己注释掉想测试的代码,看看效果就知道了。

讲师回答 / 阿旭_
没有这个不行。这是通过代码创建一个小方块。如果没有的话也可以通过在activity_main.xml文件中写再去findViewById(这样写要事先在xml写3*5个,没有在代码写方便)总之不能不创建ImageView这个方块。
课程须知
学完课程内讲解的代码后,可尝试修改逻辑实现“2048”小游戏
老师告诉你能学到什么?
1、注释先行:良好的代码编写风格 2、代码分层:了解MVC之间的关系。 (1)M数据:初始化在数据V之前。 (2)V视图:注意尽可能每个视图写在一块,绑定好相应的Model (3)C控制:先写控制层需要的内容注释,再写相应的实现方法。 慕课网Android讨论群② 170368200

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消