位置: 编程技术 - 正文

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

  • 前一年度进项税少记了怎么办
  • 投标保证金保险怎么买
  • 不付加工费怎么办
  • 小规模纳税人开工程款税率是多少
  • 红字信息表跨月撤销有什么影响吗
  • 会计凭证的票号
  • 捐赠财产
  • 长期待摊费用新规定
  • 赠送电影票的说辞
  • 建筑也增值税
  • 兼职取酬案例剖析
  • 转让股权收入属于企业所得税收入吗
  • 金蝶kis迷你版操作手册
  • 发票显示上传失败
  • 删除所有没有销售业绩的员工记录
  • 软件工程外包服务
  • 未成立工会组织情况说明
  • 账外资产评估入账固定资产折旧可以税前扣除吗?
  • 个税三险一金指什么意思
  • 背书转让银行承兑汇票会计分录
  • 测网速中国联通
  • Linux中samba服务区怎么创建多个用户
  • 电脑不用的情况下怎么让它关闭屏幕
  • php创建二维数组
  • 如果工地老板拖欠工资怎么办
  • win7网络适配器不见了怎么恢复
  • 苹果今天推送更新内容
  • 主板BIOS无法更改显存
  • 公司买车怎么入户
  • 电脑c盘被损坏怎么修复
  • win10输入法没有候选词
  • msstat.exe - msstat是什么进程 有什么用
  • 换股的具体方式是什么
  • 摊销租赁费的会计分录
  • 夸克到底有什么用
  • 天窗漏进来的水去哪了
  • jquery 滚动条
  • 公司盈利怎么分配给股东
  • 资本公积转增注册资本的条件
  • 非上市员工持股
  • php如何制作登录页面
  • 基于深度学习的图像超分辨率——综述
  • 材料发票和工程发票的区别
  • 开票软件密码和口令锁定了,怎么解锁
  • dedecms官网
  • sql server 2008 2014
  • 独资企业的税收政策
  • 增值税药品发票明细
  • 建筑服务的劳务费交印花税吗
  • 可转债会计分录怎么做
  • 所得税弥补以前年度亏损是几年
  • 债券溢价什么意思
  • 普通发票红字冲销怎么操作流程
  • 湖南残保金优惠政策
  • 年终奖个税计税方式
  • 施工企业简易计税的依据
  • 出口退税进项发票会计分录
  • 利润表期初余额怎么填
  • 发生的销货退回费用应计入
  • 固定资产的调整科目
  • 如何设置固定资产的部门对应这就
  • sqlserver 触发器 if 后边没执行
  • win7旗舰版系统恢复
  • c1.exe是什么
  • imjpmig是什么进程
  • linux删除后恢复
  • Win10 Mobile 10586.164上手体验视频评测
  • unity着色器在哪
  • unityrpg
  • vs2010配置opengl
  • 一系列优秀的Android开发资料
  • python语言怎么用
  • nodejs怎么启动服务
  • Drag and drop in unity
  • js数组操作方法
  • python支持中文字符
  • 怎么撤销税务三方协议
  • 江西省企业社会保险费缴费指南
  • 石油产品消费税征收
  • 残疾人就业年审经办人
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设