位置: 编程技术 - 正文

如何在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学习笔记

  • 事业单位长期股权投资持有期间被投资单位
  • 资本公积怎么核实
  • 计提职工非货币福利怎么算
  • 个人承包工程如何避税
  • 计提缴纳印花税怎么做账
  • 企业所得税年度申报表A类
  • 房屋租赁费如何计提
  • 受托代销商品手续费会计分录
  • 并购投资的方式有哪些
  • 去年多计提了费用今年怎么办
  • 退包装物冲减货款怎么算
  • 银行抵债资产怎么管理
  • 提取职工福利费计入什么科目
  • 差额征税发票如何做分录
  • 保险公司如何计算车辆折旧
  • 事业单位的增值税科目
  • 固定资产清理销项税
  • 开票超过离线时长怎么解决
  • 资产委托经营管理合同
  • win11任务栏没有输入法图标
  • ps不支持win7吗
  • cpu性能天梯图2023年3月
  • php中数组的概念
  • 房地产企业个人所得税
  • 反射调用set方法
  • 招财树的养殖方法
  • os x yosemite wifi断线怎么办?yosemite wifi掉线解决详细步骤
  • 子公司接受母公司捐赠的会计处理
  • 分红率与股息率有啥区别
  • wordpress更改字体
  • 公允价值变动损益借贷方向增减
  • php chr
  • 福利性分配举例
  • 预测编码方式
  • 含工资表的会计科目
  • php mysql_list_dbs()函数用法示例
  • php中实现文件上传需要用到哪几个函数
  • CV攻城狮入门VIT(vision transformer)之旅——VIT原理详解篇
  • php源码 数据库
  • 物流公司账务处理特点
  • 国内旅客运输服务
  • 用现金付款应填什么凭证
  • 折旧费和折旧额的区别
  • 购买方收到红字发票怎么做凭证
  • 事故赔偿金分配
  • 生产成本如何结转
  • 注册资本没有全额投入,公司银行贷款贷款利息怎么入账
  • 机械设备预付款比例
  • 暂估入库后发票整单折扣
  • 微信收款会计分录怎么写
  • 非税收入一般缴款书查询
  • 上月留抵税额怎么看
  • 汽车价外费用
  • 销售使用过的汽车增值税税率
  • 银行汇票和银行本票区别图解
  • 库存商品账本填写样本
  • windows累积更新
  • 系统装在从盘
  • win8.1无法安装
  • win8摄像头设置
  • win10预览版和正式版
  • ubuntudde 中文
  • xp直升win7
  • rrpcsb.exe - rrpcsb是什么进程 有什么用
  • WIN7系统电脑对话框跟鼠标走怎样设置
  • win7如何关闭ie浏览器
  • win8.1和win10哪个好用
  • win10开机6秒
  • tar命令参数详解
  • cocos2dx菜鸟教程
  • 深入理解新发展理念心得体会3篇
  • firefox document
  • unity错误cs1002
  • jquery animate源码
  • 基于javascript的毕业设计选题
  • js判断浏览器内核和版本
  • asyncio 的 coroutine对象 与 Future对象使用指南
  • 四川省税务局2020年4号
  • 税务局冬季作息时间
  • 房产折旧怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设