灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3829回复:0

Android 游戏开发之View框架

楼主#
更多 发布于:2012-10-19 12:33

MainActivity.java

 

[java]

package com.soai.view;

 

import android.os.Bundle;

import android.app.Activity;

import android.view.Window;

import android.view.WindowManager;

 

public class MainActivity extends Activity {

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        //全屏显示

        this.requestWindowFeature(Window.FEATURE_NO_TITLE);

        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(new MyView(this));

    }

}   www.atcpu.com

MyView.java

 

[java]

package com.soai.view;

 

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.view.MotionEvent;

import android.view.View;

 

/**

 *

 * @author SoAi

 *

 */

public class MyView extends View {

    private int textX = 20,textY = 20;

    

    public MyView(Context context) {

        super(context);

        setFocusable(true);

    }

    

    @Override

    protected void onDraw(Canvas canvas) {

        //创建一个画笔实例

        Paint paint = new Paint();

        paint.setColor(Color.RED);

        //绘制文本

        canvas.drawText("Game", textX, textY, paint);

        super.onDraw(canvas);

    }

    

    @Override

    public boolean onTouchEvent(MotionEvent event) {

        //获取用户触屏的X轴赋值给文本的X坐标

        textX = (int)event.getX();

        //获取用户触屏的Y轴赋值给文本的Y坐标

        textY = (int)event.getY();

        invalidate();    

        return true;

    }

 

}

MyView需要继承View,实现里面的onDraw(Canvas canvas)方法,Canvas为画布类相当于一张白纸,而Paint为画笔类恰好是画图工具的笔,利用这两个类可以很好的实现游戏中的绘图。

调用invalidate()方法 则重新绘图一下,也就是调用onDraw()方法一次。如果在其它类中调用,则需要调用postInvalidate();这个方法。


喜欢0 评分0
游客

返回顶部