六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 72|回复: 0

android游戏---贪吃蛇

[复制链接]

升级  20%

24

主题

24

主题

24

主题

秀才

Rank: 2

积分
80
 楼主| 发表于 2012-12-10 14:32:48 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">  
先看看运行的效果

最顶层的是wall类,生成和绘制外墙  代码如下:
<div class="cnblogs_code">package com.example.worm;import android.content.Context;import android.util.DisplayMetrics;import android.view.View;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Bitmap;public class wall extends View{    private Context mContext;    private int width;    private int height;    private int widthNum;                           // 方格20 * 20 保存方格行列数;    private int heightNum;    private Bitmap bm;        public wall(Context context)    {        super(context);        mContext = context;                DisplayMetrics dm = new DisplayMetrics();        dm = context.getResources().getDisplayMetrics();                width = dm.widthPixels;        height = dm.heightPixels;            widthNum = width / 20;        heightNum = height / 20;                bm = BitmapFactory.decodeResource(context.getResources(), R.drawable.wall);    }        private void drawTableForm (Canvas canvas)             //绘制表格白线    {        Paint paint = new Paint ();                paint.setStrokeWidth(1);        paint.setStyle(Paint.Style.STROKE);        paint.setColor(Color.WHITE);                for (int i = 0; i <= widthNum; i++)        {            canvas.drawLine(20 * i, 0, 20 * i, height, paint);        }                for (int i = 0; i <= heightNum; i++)        {            canvas.drawLine(0, 20 * i, width, 20 * i, paint);        }            }    private void drawWall(Canvas canvas)               // 在最外层绘制棕色墙体;    {        for (int i = 0; i < widthNum; i++)        {            canvas.drawBitmap(bm, 20 * i, 0, null);            canvas.drawBitmap(bm, 20 * i, height - 20, null);        }                for (int i = 1; i < heightNum - 1; i++)        {            canvas.drawBitmap(bm, 0, 20 * i, null);            canvas.drawBitmap(bm, width - 20, 20 * i, null);        }    }        @Override     protected void onDraw (Canvas canvas)                //覆盖onDraw    {        super.onDraw(canvas);                drawTableForm (canvas);        drawWall(canvas);    }        }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表