Android游戏开发(二)

本篇主要讲Paint和Canvas的常见用法。

1. Paint的常见设置方法

setAntiAlias:设置画笔的锯齿效果

setColor:设置画笔颜色

setARGB:设置画笔的a,r,g,b值

setAlpha:设置Alpha值

setTextSize:设置字体尺寸

setStyle:设置画笔风格,空心或者实心

setStrokeWidth:设置空心的边框宽度

getColor:得到画笔的颜色

getAlpha:得到画笔的Alpha值 


2. Canvas绘制常见图形的方法

(一)绘制直线:

           drawLine(float startX, float startY, float stopX, float stopY, Paint paint);

           参数含义:

           startX 直线起点的横坐标

           startY 直线起点的纵坐标

           stopX 直线终点的横坐标

           stopY 直线终点的纵坐标

           paint   画笔的对象

(二) 绘制矩形:

           drawRect(float left, float top, float right, float bottom, Paint paint);

           参数含义:

           left 矩形左边界离界面左边界的距离

           top 矩形上边界离界面上边界的距离

           right 矩形右边界离界面右边界的距离

           bottom 矩形下边界离界面下边界的距离

           paint   画笔的对象

(三) 绘制圆形:

           drawCircle(float cx, float cy, float radius, Paint paint);

           参数含义:

           cx 圆心的横坐标

           cy 圆心的纵坐标

           radius 圆的半径

           paint 画笔的对象


3. 使用Canvas绘制字符 

          drawText(String text, float x, float y, Paint paint);

          参数含义:

          text  要绘制的字符

          x      绘制出来字符左边界的位置

          y      字符基准线的位置(baseLine,为了排版漂亮)


4. 使用Canvas绘制图形

           drawBitmap(Bitmap bitmap, float left, float top, Paint paint);

           参数含义:

           bitmap 图形对象

           left        左边界离界面左边界的距离

           top        上边界离界面上边界的距离

           paint     画笔的对象

            

5. 代码演示

          新建一个工程,名为shudu02,。新建一个MyView类,添加代码如下:

package com.cfy.shudu02;

import android.content.Context;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class MyView extends View {

	public MyView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	@Override
	protected void onDraw(Canvas canvas) {
		//新建一个画笔对象
		Paint paint = new Paint();
		//paint.setColor(Color.BLUE);
		//设置画笔的颜色
		paint.setARGB(150, 0, 100, 200);
		//设置画笔画出来的图形是空心的
		paint.setStyle(Paint.Style.STROKE);
		//设置边框的宽度
		paint.setStrokeWidth(10);
		//设置字体大小
		paint.setTextSize(100);
		//绘制apple字符
		canvas.drawText("apple", 50, 70, paint);
		//绘制直接
		canvas.drawLine(0, 70, 500, 70, paint);
		//绘制图形
		canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher), 100, 300, paint);
		//绘制矩形
		canvas.drawRect(100, 200, 300, 50, paint);
		//绘制圆形
		canvas.drawCircle(100, 200, 50, paint);
		super.onDraw(canvas);
	}

}

新建或者打开MainActivity,添加如下代码:

package com.cfy.shudu02;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.activity_main);
		MyView myView = new MyView(this);
		setContentView(myView);
	}
}

运行程序,效果如下图:





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值