zoukankan      html  css  js  c++  java
  • Cocos2d-x学习笔记(十五)之 绘制图形

      在节点类CCNode 中, 可以重写draw 函数并在其中绘制图形。下面就来介绍一下几个常用的图形绘制。

      1、绘制直线:

     1 //参数分别为直线的起点和终点。默认绘制的直线是白色的、不透明的、线宽是1 并且是抗锯齿的。
     2 ccDrawLine( ccp(0, 0), ccp(s.width, s.height) );
     3 
     4 //设置线宽
     5 glLineWidth( 5.0f );
     6 //设置颜色
     7 ccDrawColor4B(255,0,0,255);
     8 ccDrawLine( ccp(0, s.height), ccp(s.width, 0) );
     9 
    10 //注意:OpenGL 中是状态机,除非重新设置,否则这些参数都会保持到下
    11 一个状态。

      2、绘制点:(OpenGL 中的点是正方形的)

    1 CCPoint points[] = { ccp(60,60), ccp(70,70), ccp(60,70), ccp(70,60) };
    2 ccPointSize(4);
    3 ccDrawColor4B(0,255,255,255);
    4 ccDrawPoints( points, 4);

      3、画圆:

    1 //函数的参数为圆心、半径、角度、分段数(将圆微分为直线)和是否与中心连线
    2 glLineWidth(2);
    3 ccDrawColor4B(0, 255, 255, 255);
    4 ccDrawCircle( ccp(s.width/2, s.height/2), 50, CC_DEGREES_TO_RADIANS(90), 50,
    5 true);

      4、画多边形:

    1 //函数的参数为点数组、点数量和图形是否封闭
    2 ccDrawColor4B(255, 0, 255, 255);
    3 glLineWidth(2);
    4 CCPoint vertices2[] = { ccp(30,130), ccp(30,230), ccp(50,200) };
    5 ccDrawPoly( vertices2, 3, true);

      5、画贝塞尔曲线:

    1 //函数的第一个参数为一个控制点,第二个和第三个参数为两个控制点,最后一个参数为分段数
    2 CHECK_GL_ERROR_DEBUG();
    3 // 画正方贝塞尔曲线
    4 ccDrawQuadBezier(ccp(0,s.height), ccp(s.width/2,s.height/2), ccp(s.width,s.
    5 height), 50);
    6 CHECK_GL_ERROR_DEBUG();
    7 // 画立方贝塞尔曲线
    8 ccDrawCubicBezier(ccp(s.width/2, s.height/2), ccp(s.width/2+30,s.height/2+50),
    9 ccp(s.width/2+60,s.height/2-50),ccp(s.width, s.height/2),100);

      好了绘制图形就先介绍这几个比较常用的,如果你还需要其他的图形绘制,建议到官网查看文档。地址:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Reference

  • 相关阅读:
    UDP通讯demo
    Git 修改已提交的commit注释
    git merge和git merge --no-ff的区别
    git常用命令
    阿里云域名证书申请流程
    IntelliJ IDEA常用快捷键总结
    宿主CentOS7环境下docker中rabbitMQ的安装
    宿主CentOS7环境下docker中nginx的安装
    docker常用命令
    CentOS7环境下docker安装
  • 原文地址:https://www.cnblogs.com/atong/p/3277387.html
Copyright © 2011-2022 走看看