位置: 编程技术 - 正文

如何在COCOS2D中绘制3d椭圆柱?(cocos2d教程)

编辑:rootadmin

推荐整理分享如何在COCOS2D中绘制3d椭圆柱?(cocos2d教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2d怎么用,cocos2djs,cocos2d怎么样,cocos2djs,cocos2d-x教程,cocos2dx怎么用,cocos2djs,cocos2d怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

将以下代码添加到CCActionGrid3D.h

class CC_DLL CCEllipse3D : public CCGrid3DAction

{public: /** initializes an action with duration, grid size, waves and amplitude */ bool initWithDuration(float duration, const CCSize& gridSize, float alength, float blength, float startangle, float endagnle,float xoffset,float yoffset); /** * @js NA * @lua NA */ virtual CCObject* copyWithZone(CCZone* pZone); virtual void update(float time);public: /** creates an action with duration, grid size, waves and amplitude */ static CCEllipse3D* create(float duration, const CCSize& gridSize, float alength, float blength, float startangle, float endagnle,float xoffset,float yoffset);protected:float m_fStartAngle;//开始角float m_fEndAngle;//结束角float m_fALength;//长轴float m_fBLength;//短轴float m_fXOffset;//X偏移float m_fYOffset;//Y偏移

};

将以下代码添加到CCActionGrid3D.cpp

CCEllipse3D* CCEllipse3D::create(float duration, const CCSize& gridSize, float alength, float blength, float startangle, float endagnle,float xoffset,float yoffset){CCEllipse3D *pAction = new CCEllipse3D();if (pAction){if (pAction->initWithDuration(duration, gridSize, alength, blength, startangle, endagnle, xoffset, yoffset)){pAction->autorelease();}else{CC_SAFE_RELEASE_NULL(pAction);}}return pAction; }bool CCEllipse3D::initWithDuration(float duration, const CCSize& gridSize, float alength, float blength, float startangle, float endagnle,float xoffset,float yoffset){if (CCGrid3DAction::initWithDuration(duration, gridSize)){m_fStartAngle = startangle;//开始角m_fEndAngle = endagnle;//结束角m_fALength = alength;//长轴m_fBLength = blength;//短轴m_fXOffset = xoffset;//X偏移m_fYOffset = yoffset;//Y偏移return true;}return false;}CCObject* CCEllipse3D::copyWithZone(CCZone *pZone){CCZone* pNewZone = NULL;CCEllipse3D* pCopy = NULL;if(pZone && pZone->m_pCopyObject) {//in case of being called at sub classpCopy = (CCEllipse3D*)(pZone->m_pCopyObject);}else{pCopy = new CCEllipse3D();pZone = pNewZone = new CCZone(pCopy);}CCGrid3DAction::copyWithZone(pZone);pCopy->initWithDuration(m_fDuration, m_sGridSize, m_fALength, m_fBLength,m_fStartAngle,m_fEndAngle,m_fXOffset,m_fYOffset);CC_SAFE_DELETE(pNewZone);return pCopy;}void CCEllipse3D::update(float time){ int i, j; for (i = 0; i < m_sGridSize.width&#;1; i&#;&#;){float angle = (m_fStartAngle &#;(m_fEndAngle-m_fStartAngle)*i/m_sGridSize.width)*time;for (j = 0; j < m_sGridSize.height &#; 1; j&#;&#;){ccVertex3F v = originalVertex(ccp(i ,j));v.x = m_fALength*cos(angle)-m_fALength&#;m_fXOffset; v.y = m_fBLength*sin(angle)&#; v.y &#; m_fYOffset; setVertex(ccp(i, j), v);} } }

如何在COCOS2D中绘制3d椭圆柱?(cocos2d教程)

调用相关方法:

runAction(CCEllipse3D::create(1.0f, CCSize(,1) ,.0f,-.0f,0.0f,(float)M_PI,.0f,-.0f));

第一个参数代表时间

第二个参数代表网&#;

第三个参数椭圆长轴

第四个参数椭圆短柱

第五个参数开始绘制角

第六个参数结束绘制角

第七个参数x轴偏移

第八个参数Y轴偏移

SpriteBuilder Demo学习笔记 1、资源的auto-scaling。只需提供最高级别的resolution,SpriteBuilder会自动生成低级别的。SpriteBuilder默认是从4x(两倍于Retina屏)开始scaling,可以在File-ProjectS

cocos2d3.x在win7的环境配置和安装 安装过程:1:安装VS(需要IE.0以上)2:安装python2.7.9一直下一步即可;3:安装完python后右键我的电脑-属性-高级系统设-系统变量找到Path编辑,最

lua学习系列一之配置环境与IDE 之所以想要学习lua是因为cocos官方出了一个基于eclipse的IDE,电脑装VS一直装不上去,苦于程序太多于是没有重装系统,最近才发现出现了这个IDE,心

标签: cocos2d教程

本文链接地址:https://www.jiuchutong.com/biancheng/369112.html 转载请保留说明!

上一篇:cocos2d的安装与简介(cocos2d-x安装)

下一篇:SpriteBuilder Demo学习笔记

  • 增值税进项发票当月未开,怎么办
  • 考税务师的报考条件
  • 股权转让主要交什么税
  • 实收资本利息收入可以资本化
  • 企业增资会计处理流程
  • 通用发票
  • 购税盘需要什么东西
  • 建筑企业结转成本怎么算
  • 六税两费减半征收政策
  • 新准则下怎么调整长期股权投资损益调整
  • 取得成本发票
  • 由于汇率引起汇兑损益计入哪个科目?
  • 票据行为为什么没有付款
  • 股权投资损失该如何做账务处理及税前扣除相关规定
  • 卖房土地增值税税率
  • 我是小规模企业客户要求开专票不开投诉
  • 印花税按次申报是什么意思
  • 发票首次核定
  • 小企业报表为什么勾选不到小型微利企业
  • 小区业主委员会归哪个部门管
  • 企业怎样信用升级
  • 商业汇票收款到什么账户
  • 财务会计中关于坏账损失的账务处理
  • 关于幼儿园会没课程的会刊
  • 简易计税 科目
  • 前端向后端发送请求
  • pvlsvr.exe - pvlsvr是什么进程 有什么用
  • windows10如何清理磁盘碎片
  • php数组函数实现机选双色球
  • 如何直接访问ip地址
  • antd-vue-pro
  • 哈特谢普苏特女王享殿
  • 月底资产负债表不平怎么找原因
  • php中的九大缓存技术
  • 会计常用单据样本大全
  • 开票物流辅助服务怎么搜
  • phpcms怎么用
  • 免增值税项目可以抵扣吗
  • 赠品没有收到
  • 小微小型微利企业表述正确的有
  • 理财产品怎么分类总结
  • 哪些增值税专用发票能抵扣进项税
  • 费用可以抵扣什么税
  • 零申报公司注销流程
  • 政府会计计提折旧方法
  • 公司的车过户到个人名下需要什么手续
  • 计提税费和实际缴纳的有差额怎么办
  • 预提费用为什么是负债
  • 商业银行存款业务规则
  • 分享一下相亲时碰见过哪些奇葩事
  • sql server中查看创建的数据库命令
  • Mysql使用教程
  • sql触发器菜鸟教程
  • mysql安装包和免安装的区别
  • 2tb的硬盘够用吗
  • u盘如何安装win7系统
  • win7如何创建新桌面
  • 桌面上的软件是什么
  • linux page buffer cache深入理解
  • pavmail.exe - pavmail进程是什么文件 有什么用
  • bootstrap不支持ie
  • cmd网络管理命令的功能和用法
  • vue-resource + json-server模拟数据的方法
  • jquery怎么给文本框赋值
  • 批处理函数怎么定义
  • unity3d怎么改变物体大小
  • jquery jwt
  • javascript定律
  • python数据的概念
  • python多线程操作
  • python搭建网站并在服务器上部署
  • jquery获取文件大小
  • python中如何抛出异常
  • 出口退税需要哪些
  • 陕西电子税务局官网
  • 杨柳青还迁房2024年还建不建
  • 免征增值税的销售额
  • 地方税务机关税率是多少
  • 山东省关于公务员社会信用考察的规定
  • 税务稽查机构
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设