本专题将进行Android游戏开发的系列讲解

Android图形编程基础对于开发游戏,尤其重要。

Android图形编程的基本概念:

(一)颜色对象 Color

(二)画笔对象 Paint

(三)画布对象 Canvas


1. 颜色对象 Color

(一) int color1 = Color.blue;

(二) int color2 = Color.argb(100, 255, 255, 255) ;

其中,函数原型为Color.argb(a, r, g, b);

a即alpha,代表颜色透明度(0代表透明; 255代表不透明;1到244则代表透明到不透明的变化)

r 即red,代表红色(代表最重的红色)

g即green,代表绿色(255代表最重的绿色)

b即blue,代表蓝色(255代表最重的蓝色)

(三) 在xml文件当中定义颜色;


2. 画笔对象 Paint

该类的对象用于控制画笔的风格和颜色等方面的信息。

例如:

设置画笔的颜色: paint.setColor(Color.blue);


3. 画布对象 Canvas

该类代表一块“画布”,可以在“画布”上绘制字符、图形和图片等内容。

例如:

在画布上画圆: canvas.drwaCircle(300, 400, 100, paint);

其中,第一个参数表示圆的横坐标,第二个参数表示圆的纵坐标,第三个参数表示圆的半径,第四个参数表示画笔对象。


4. 自定义View的基本实现方法

(一)定义一个类,继承View;

(二)复写View的onDraw函数;

(三)在onDraw当中使用Canvas和Paint对象绘制图形;


5. 代码演示

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

package com.cfy.shudu01;import android.content.Context;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}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);//新建画笔对象Paint paint = new Paint();//设置画笔颜色为蓝色paint.setColor(Color.BLUE);//在画布上画圆,横坐标为100,纵坐标为200,半径为50,canvas.drawCircle(100, 200, 50, paint);}}

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

package com.cfy.shudu01;import android.os.Bundle;import android.app.Activity;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//setContentView(R.layout.activity_main);//创建MyView对象MyView myView = new MyView(this);//显示myViewsetContentView(myView);}}

在MyView类中,主要继承了View,并重写了onDraw方法,在这个方法里面,画一个圆。

在MainActivity中,创建MyView对象,并显示myView。

运行一下程序,效果如下图:



更多相关文章

  1. Android中关于Volley的使用(二)加载Json数据
  2. Android(安卓)结构组件之LiveData
  3. Android---线程间通讯
  4. 自定义Spinner下拉列表
  5. Android音频系统学习笔记
  6. 三、数据库入门和listview的基本使用
  7. Android(安卓)AppWidget核心之AppWidgetService
  8. Android手机开发:网络连接-打开Url下载信息
  9. Launcher研究资料收集(4)--Appliction

随机推荐

  1. 可能是第二好的 Spring OAuth 2.0 文章,艿
  2. 从TypeScript的类中派生接口[每日前端夜
  3. 写了一个 SSO 单点登录的代码示例给胖友!
  4. 使用 JWT、Redis、MySQL 存储 OAuth2.0
  5. 用 await/async 正确链接 Javascript 中
  6. 浅谈 JavaScript 中的垃圾收集器
  7. 上次是谁说搞不清学习路线来着?
  8. 如何让自己少写点bug?
  9. 盘点高级前端必备的 TOP 级知识点
  10. 真正了解 JavaScript,从 bind(),call() 和