Android如何实现拼图小游戏

  介绍

小编给大家分享一下安卓如何实现拼图小游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

具体内容如下

目标效果:

,  Android如何实现拼图小游戏

1. activity_main。xml页面:

& lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; RelativeLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   ,xmlns:工具=癶ttp://schemas.android.com/tools"   ,android: layout_width=癿atch_parent"   ,android: layout_height=癿atch_parent"   ,工具:上下文=癱om.example.vivinia.puzzle.MainActivity"祝辞   ,   & lt; GridLayout   ,android: id=癅 + id/gl_main_game"   ,android: layout_width=癿atch_parent"   ,android: layout_height=癿atch_parent"   ,android: rowCount=?”;   ,android: columnCount=?“比;   ,& lt;/GridLayout>   ,   & lt;/RelativeLayout> mainactivity

2.。java页面:

package  com.example.vivinia.puzzle;   ,   import  android.graphics.Bitmap;   import  android.graphics.drawable.BitmapDrawable;   import  android.support.v7.app.AppCompatActivity;   import  android.os.Bundle;   import  android.view.GestureDetector;   import  android.view.MotionEvent;   import  android.view.View;   import  android.view.animation.Animation;   import  android.view.animation.TranslateAnimation;   import  android.widget.GridLayout;   import  android.widget.ImageView;   import  android.widget.Toast;   ,   public  class  MainActivity  extends  AppCompatActivity  {   ,/* *   *大敌;当前动画是否正在执行   ,*/,private  boolean  isAnimRun=false;/* *   ,*判断游戏是否开始*/,private  boolean  isGameStart=false;/* *   ,*利用二维数组创建若干个游戏小方块   ,*/,private  ImageView [] [], iv_game_arr =, new  ImageView [3] [5];/* *   ,*游戏主界面   ,*/,private  GridLayout  gl_main_game;/* *   ,*当前空方块的实例保存   ,*/,private  ImageView  iv_null_ImageView;/* *   ,*当前手势   ,*/,private  GestureDetector  mDetector;   ,   ,//非图片位置可以进行手势滑动   ,@Override   ,public  boolean  onTouchEvent (MotionEvent 事件),{   ,return  mDetector.onTouchEvent(事件),,//手势监听   ,}   ,   ,//在图片上可以进行手势滑动   ,@Override   ,public  boolean  dispatchTouchEvent (MotionEvent  ev), {   ,mDetector.onTouchEvent (ev);   ,return  super.dispatchTouchEvent (ev);   ,}   ,   ,@Override   ,protected  void  onCreate (Bundle  savedInstanceState), {   ,super.onCreate (savedInstanceState);   ,mDetector=new  GestureDetector(这,new  GestureDetector.OnGestureListener (), {   ,@Override   ,public  boolean 等(MotionEvent  motionEvent), {   ,return 假;   ,}   ,   ,@Override   ,public  void  onShowPress (MotionEvent  motionEvent), {   ,   ,}   ,   ,@Override   ,public  boolean  onSingleTapUp (MotionEvent  motionEvent), {   ,return 假;   ,}   ,   ,@Override   ,public  boolean  onScroll (MotionEvent  motionEvent, MotionEvent  motionEvent1,, float  v, float  v1), {   ,return 假;   ,}   ,   ,@Override   ,public  void  onLongPress (MotionEvent  motionEvent), {   ,   ,}   ,/* *   ,*一瞬间执行的方法   ,*/,@Override   ,public  boolean  onFling (MotionEvent  e1, MotionEvent  e2, float  v, float  v1), {   ,int  type=getDirByGes (e1.getX (), e1.getY (), e2.getX (), e2.getY ());   ,changeByDir(类型);   ,return 假;   ,}   ,});   ,setContentView (R.layout.activity_main);   ,//初始化游戏的若干个小方块   ,Bitmap  bigBm=((BitmapDrawable) getresource () .getDrawable (R.drawable.puzzle_bg)) .getBitmap ();   ,int  everyWidth=bigBm.getWidth()/5,,//每个游戏小方块的宽和高   ,for  (int 小姐:=,0;,小姐:& lt;, iv_game_arr.length;,我+ +),{   ,for  (int  j =, 0;, j  & lt;, iv_game_arr [0] . length;, j + +), {   ,Bitmap  bm=Bitmap.createBitmap(我* everyWidth bigBm j * everyWidth everyWidth, everyWidth);//根据行列来切成若干个游戏小图片   ,iv_game_arr[我][j]=new  ImageView(这个);   ,iv_game_arr[我][j] .setImageBitmap (bm);,//设置每一个游戏小方块图案   ,iv_game_arr[我][j] .setPadding(2 2 2 2);//设置方块之间的间距   ,iv_game_arr[我][j] .setTag (new  GameData (bm i, j)),,//绑定自定义的数据   ,iv_game_arr[我][j] .setOnClickListener (new  View.OnClickListener (), {   ,@Override   ,public  void  onClick (View 视图),{   ,boolean 旗帜=isHasByNullImageView ((ImageView)视图);   ,如果(国旗){   ,changeDataByImageView ((ImageView)视图);   ,}   ,}   ,});   ,}   ,}   ,//初始化游戏主界面,并添加若干个小方块   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android如何实现拼图小游戏