安卓拼图游戏制作(适合初学者) 您所在的位置:网站首页 手机拼图小游戏 安卓拼图游戏制作(适合初学者)

安卓拼图游戏制作(适合初学者)

2023-12-16 22:50| 来源: 网络整理| 查看: 265

制作的工具条件

android studio工具和ps 选择适合手机屏幕的图片 利用ps分成九等份,在制作一张空白图片 会安卓的点击事件处理 会Intent传值 会安卓基础的控件和布局

创建项目之后 第一件事就是写布局

第一个布局

选择图片的布局,称呼为选择图片的布局

布局如图 写两个按钮用来切换图片,点击中间按钮开始游戏 并给id; 我是用图片代替按钮。

第二个布局

就是拼图游戏的布局; 在这里插入图片描述 用LinearLayout标签中的 android:layout_weight属性把九个图片控件平分屏幕。 并给id;

选择图片的Activity

很简单,一共有三个按钮,就写三个点击事件; 在定义一个 int tu_ID的变量,用来代表选中的是哪张图片; 首先是开始游戏的点击事件 s 利用Intent传值给拼图的Activity

其次是上一张的点击事件 在这里插入图片描述 点击后,tu_ID加一,并相应的改变背景图;

最后是下一张的点击事件 跟上一张差不多

拼图的Activity

第一件事就是拿到传过来的值,判断是哪张图片 然后创建一个长度为九的int数组,分别拿到8张图片的资源值 ,第九张填空白图片的资源值。

打乱图片,图片不能直接随机打乱,否则会出现拼不了的现象; 我写了一个打乱方法

public int[] sjsss(int[] ai){ int weizhi=8;//表示白板的位置 int tihuan=0; for (int i = 0; i int pd=weizhi; if (weizhi==2||weizhi==1||weizhi==0) { pd=weizhi; }else { pd=weizhi-3; } tihuan=ai[weizhi]; ai[weizhi]=ai[pd]; ai[pd]=tihuan; weizhi=pd; }else if (sj1==2) { int pd=weizhi; if (weizhi==6||weizhi==7||weizhi==8) { pd=weizhi; }else { pd=weizhi+3; } tihuan=ai[weizhi]; ai[weizhi]=ai[pd]; ai[pd]=tihuan; weizhi=pd; }else if (sj1==3) { int pd=weizhi; if (weizhi==0||weizhi==3||weizhi==6) { pd=weizhi; }else { pd=weizhi-1; } tihuan=ai[weizhi]; ai[weizhi]=ai[pd]; ai[pd]=tihuan; weizhi=pd; }else if (sj1==4) { int pd=weizhi; if (weizhi==2||weizhi==5||weizhi==8) { pd=weizhi; }else { pd=weizhi+1; } tihuan=ai[weizhi]; ai[weizhi]=ai[pd]; ai[pd]=tihuan; weizhi=pd; } } return ai; }

打乱后,在把数组的资源分别填充到九个控件中 这里封装一个方法

public void runX(){ pt1.setImageDrawable(getResources().getDrawable(x[0])); pt2.setImageDrawable(getResources().getDrawable(x[1])); pt3.setImageDrawable(getResources().getDrawable(x[2])); pt4.setImageDrawable(getResources().getDrawable(x[3])); pt5.setImageDrawable(getResources().getDrawable(x[4])); pt6.setImageDrawable(getResources().getDrawable(x[5])); pt7.setImageDrawable(getResources().getDrawable(x[6])); pt8.setImageDrawable(getResources().getDrawable(x[7])); pt9.setImageDrawable(getResources().getDrawable(x[8])); }

, 然后就在写九个控件的点击事件 看着多,其实简单写, 首先拿到白板的位置, 在每个点击事件里判断是否靠近白板 如果是,则交换数组的值, 然后在执行runX() 然后在写一个判断是否拼图完成的方法; 就是判断数组的每个值是否等于原先的值; 如果正确就可以弹出提示框或者什么;

最后

可以打包给同学朋友玩玩 也可以加个计时器进去。 有什么不懂的欢迎留言;



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有