2、重写onTouchEvent()方法
3、重写onDraw()方法
思路:在用户down、move时记录影响的坐标点,然后将点连起来就可以了,最好不要使用直线画,会有很多毛刺,可以使用
贝塞尔曲线
画,线条会相当圆滑。画红圈
<xml version="10" encoding="utf-8">
xmlns:android=">我们可以把这个Canvas理解成系统提供给我们的一块内存区域(但实际上它只是一套画图的API,真正的内存是下面的Bitmap),而且它还提供了一整套对这个内存区域进行 *** 作的方法,所有的这些 *** 作都是画图API。也就是说在这种方式下我们已经能一笔一划或者使用Graphic来画我们所需要的东西了,要画什么要显示什么都由我们自己控制。
这种方式根据环境还分为两种:一种就是使用普通View的canvas画图,还有一种就是使用专门的SurfaceView的canvas来画图。两种的主要是区别就是可以在SurfaceView中定义一个专门的线程来完成画图工作,应用程序不需要等待View的刷图,提高性能。前面一种适合处理量比较小,帧率比较小的动画,比如说象棋游戏之类的;而后一种主要用在游戏,高品质动画方面的画图。glglVertexPointer(3,//一个点所占数据的个数,一般为三个(x,y,z)
type, //pointer里边的元素类型,如GL10GL_FLOAT
stride,//取数据时的间隔,因为有些人习惯把颜色数据也放里边,如果这样,你需要跳过这些点意思就是每隔stride取一个点
pointer);//存数组
glglDrawArrays first,是你要告诉 显卡,从那一个数据(通过glVertexPointer传入的点,这些点已经在缓存里边了,注意不是pointer)开始画,比如说已经有6个点在缓存里边了,如果first=3,那就从第四个点开始画按你说的"第三个三角形怎么画"如果最后数据不足三个点,就不会画三角形,直接忽略
按你的数据,你的MODE应该是GL10GL_TRIANGLE_STRIP,取1,只会有两个三角形被绘制
多看看官网>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)