android的游戏开发功能十分强大,第一次接触,我就十分感兴趣。下面我简单介绍下我开发的一个小游戏:打地鼠。网上有许多类似的小游戏,实现原理也都差不多,在这里我主要介绍下我的小游戏打地鼠的实现原理。其实也没什么,就是通过多线程,交替显示图片,来实现动画效果。这只是我个人的理解,如果有什么不对的地方,欢迎您到QQ群:92655259,大家一起交流,分享经验。下面是主要源代码:
package com.sunyasong.mouse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
import com.sunyasong.mouse.db.MouseDB;
import com.sunyasong.mouse.db.MouseModel;
import android.app.Activity;
import android.content.Intent;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class StartActivity extends Activity {
ImageView iv_01;
ImageView iv_02;
ImageView iv_03;
ImageView iv_04;
ImageView iv_05;
ImageView iv_06;
ImageView iv_07;
ImageView iv_08;
ImageView iv_09;
ImageView iv_zk;
ImageView iv_zz;
ImageView iv_zc;
MyImage myImage;
MyImage mi_01;
MyImage mi_02;
MyImage mi_03;
MyImage mi_04;
MyImage mi_05;
MyImage mi_06;
MyImage mi_07;
MyImage mi_08;
MyImage mi_09;
List<MyImage> myImageList = new ArrayList<MyImage>();
TextView tv_Count;
TextView tv_Time;
TextView tv_Step;
int z_Second = 0;
int s_Second = 65;
int zz_Count=0;
int step_Count = 1;
int zc_Same = 0;
int game_Flag = 0;
long speed = 0;
Handler handler ;
SoundPool soundPool;
HashMap<Integer,Integer> soundMap = new HashMap<Integer,Integer>();
MouseModel mouseModel = new MouseModel();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MouseDB mouseDb = new MouseDB(this);
mouseModel = mouseDb.queryMyAlarmModel("1");
step_Count = mouseModel.getM_step();
speed = 2300 - step_Count*300;
z_Second = (s_Second -= step_Count*5);
iv_01 = (ImageView)findViewById(R.id.iv_01);
iv_02 = (ImageView)findViewById(R.id.iv_02);
iv_03 = (ImageView)findViewById(R.id.iv_03);
iv_04 = (ImageView)findViewById(R.id.iv_04);
iv_05 = (ImageView)findViewById(R.id.iv_05);
iv_06 = (ImageView)findViewById(R.id.iv_06);
iv_07 = (ImageView)findViewById(R.id.iv_07);
iv_08 = (ImageView)findViewById(R.id.iv_08);
iv_09 = (ImageView)findViewById(R.id.iv_09);
mi_01 = new MyImage(iv_01);
mi_02 = new MyImage(iv_02);
mi_03 = new MyImage(iv_03);
mi_04 = new MyImage(iv_04);
mi_05 = new MyImage(iv_05);
mi_06 = new MyImage(iv_06);
mi_07 = new MyImage(iv_07);
mi_08 = new MyImage(iv_08);
mi_09 = new MyImage(iv_09);
tv_Count = (TextView)findViewById(R.id.tv_Count);
tv_Time = (TextView)findViewById(R.id.tv_OTime);
tv_Step = (TextView)findViewById(R.id.tv_step);
tv_Step.setText(String.valueOf(step_Count));
iv_01.setOnClickListener(new iv_01OnClickListener());