教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

Android手机游戏开发知识点总结(2)

来源:网络收集 时间:2026-04-01
导读: paint.setColor(Color.GREEN);//设置画笔颜色 canvas.drawRect(0,0,320,480, paint);//绘制矩形 switch(count%4){ case 0: paint.setColor(Color.BLUE); break; case 1: paint.setColor(Color.YELLOW); break; case

paint.setColor(Color.GREEN);//设置画笔颜色 canvas.drawRect(0,0,320,480, paint);//绘制矩形 switch(count%4){ case 0:

paint.setColor(Color.BLUE); break; case 1:

paint.setColor(Color.YELLOW); break; case 2:

paint.setColor(Color.RED); break; case 3:

paint.setColor(Color.CYAN); break; default:

paint.setColor(Color.WHITE); break; }

canvas.drawCircle(130, 240, 500, paint);

surfaceHolder.unlockCanvasAndPost(canvas);//绘制后解锁,绘制后必须解锁才能显示 }

@Override//在Surface大小发生改变时激发

public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {

// TODO Auto-generated method stub }

@Override//在Surface创建时激发

public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub new Thread(this).start(); }

@Override//在Surface销毁时调用

public void surfaceDestroyed(SurfaceHolder holder) {

// TODO Auto-generated method stub loop=false; }

public void run(){ while(loop){ try{

Thread.sleep(200);

synchronized (surfaceHolder) { Draw(); }

}catch(Exception e){ } } } }

第三部分 Paint类和Color类

在Android中通过graphic类来显示2D图形。graphic包括Canvas类(画布),Paint(画笔),Color(颜色),Bitmap(图像),2D几何图形等常用类。 package graphics; Paint类常用的一些方法: setAntiAlias 设置画笔的锯齿效果 setColor 设置画笔颜色

setARGB 设置画笔的a,r,g,b值。 setAlpha 设置透明度 setTextSize 设置字体大小 setStyle 设置画笔风格 空心或实心 setStrokeWidth设置空心的边框宽度 getColor 得到画笔的颜色 getAlpha 得到画笔的透明度 Color类中定义了一些颜色常量

Color.rgb方法将整型的颜色转换成Color类型。如Color.red方法可提取出红色的值。 /**

* 注意:在绘制时按从上到下的顺序绘制的 ,后面的如果和前面的重合的话会

将前面的覆盖掉 */

public class Graphics_Paint_Color extends View implements Runnable { public Paint paint; private String TAG=\你好\

public Graphics_Paint_Color(Context context) { super(context);

paint = new Paint();//创建画笔 new Thread(this).start();//开启线程 }

public void onDraw(Canvas canvas){ super.onDraw(canvas);

paint.setAntiAlias(true);//设置抗锯齿 paint.setColor(Color.RED);//设置画笔颜色

paint.setColor(Color.rgb(12, 234, 34));//设置画笔颜色 其中参数分别为red,green,blue三种颜色的值

Color.red(23);//提取颜色? Color.blue(234);

paint.setARGB(255, 23,234,49);//设置Paint的颜色和Alpha值

paint.setAlpha(200);//设置透明度

//paint.set(new PAINT());//设置另外一个Paint对象 paint.setTextSize(14);//设置字体的尺寸

//得到Paint的一些属性

Log.i(TAG, \的颜色\Log.i(TAG,\的Alpha\

paint.setStyle(Paint.Style.STROKE);//设置Paint为空心 paint.setStrokeWidth(5);//设置空心的外框宽度 canvas.drawRect(0,0,50,60, paint);//绘制空心矩形

paint.setStyle(Paint.Style.FILL);//设置Paint为实心 canvas.drawRect(60,70,120,140, paint);//绘制实心的矩形 }

public void run() {

while(!Thread.currentThread().isInterrupted()){ try{

Thread.sleep(200); }catch(Exception e){ e.printStackTrace();

Thread.currentThread().interrupt(); }

postInvalidate();//使用postInvalidate可以直接在线程中更新界面 } }

}在View或SurfaceView中绘制图形后,需要在Activtiy中通过setContentView()来让其显示出来

第四部分 Canvas类和ShadeDrawable类 Canvas方法:

Canvas() 创建画布,可以用setBitmap()方法设置绘制具体画布 Canvas(Bitmap bitmap) 以bitmap对象创建一个画布,则将内容都绘制在bitmap上,所以bitmap不得为null

Canvas(GL gl) 绘制3D效果时使用,与OpenGL drawColor 设置画布背景色 setBitmap 设置具体画布

clipRect 设置显示区域,即设置裁剪区 isOpaque 检测是否支持透明

rotate 旋转画布 在游戏中我们需要对精灵旋转,缩放或其它操作就可以通过旋转画布来实现,但在旋转画布时会旋转画布上所以对象,而我们只需要旋转其中一个。这个时候

我们就需要用save方法来锁定需要操作的对象,在操作后通过restore方法来解锁。(例子有此方法的运用) setViewport 设置画布中显示窗口 skew 设置便宜量

绘制几何图形的方法

drawRect 绘制矩形 drawCircle 绘制圆形 drawOval 绘制椭圆 drawLine 绘制直线 drawPoint 绘制点

public class CanvasView extends View implements Runnable{ private Paint paint ;

public ShapeDrawableView shapeDrawableView; public CanvasView(Context context) { super(context); paint = new Paint();

shapeDrawableView= new ShapeDrawableView(context);//得到对象 new Thread(this).start(); }

public void onDraw(Canvas canvas){ super.onDraw(canvas);

canvas.drawColor(Color.BLACK);//设置画布颜色 paint.setAntiAlias(true);//取消抗锯齿效果 //canvas.clipRect(20,20,80,80);//设置裁剪区域

canvas.save();//锁定画布 //canvas.rotate(45.0f);//旋转画布

paint.setColor(Color.RED);//设置颜色及绘制矩形 canvas.drawRect(new Rect(10,10,80,80), paint); canvas.restore();//解锁画布

paint.setStyle(Paint.Style.STROKE);{//设置为空心画笔 Rect rect = new Rect(); rect.left =85; rect.bottom=80; rect.right=150; rect.top = 10;

paint.setColor(Color.BLUE);

canvas.drawRect(rect, paint);//绘制矩形

…… 此处隐藏:2085字,全部文档内容请下载后查看。喜欢就下载吧 ……
Android手机游戏开发知识点总结(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438798.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)