以下是我花了两天时间由一个简单的画矩形的例子改造而来的,还没有来得急测试就贴上了,追求完美的朋友还需要认真玩下啦.我就去做其他例子了.
游戏是由重写view类完成的,所以没有布局文件,这和官方的实例不一样,是直接画图,所以也没有图片,你只要建立个应用复制下代码应该没有问题啦.
看图:文字和方块是不采用屏幕比例的大小输出,所以从手机上要的图很不好看了,有空自己改改.
主代码:完成游戏控制
package org.mytest.snake;
import java.util.Timer;
import java.util.TimerTask;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnKeyListener;
public class mainActivity extends Activity
{
// 屏幕宽度
private int width;
// 屏幕高度
private int height;
SnakeView snake;
private int direction;
Boolean start=false;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// 去掉窗口标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 全屏显示
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 获取窗口管理器
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
DisplayMetrics metrics = new DisplayMetrics();
display.getMetrics(metrics);
// 获得屏幕宽和高
width = metrics.widthPixels;
height = metrics.heightPixels;
snake=new SnakeView(this,width,height);
direction=snake.direction;
setContentView(snake);
start