博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2d-x学习笔记(1)
阅读量:6258 次
发布时间:2019-06-22

本文共 1785 字,大约阅读时间需要 5 分钟。

题外话:一直在犹豫到底要不要学习cocos2d-x,是因为我想只看cocos2d-for iPhone的, 但是朋友们都直接推荐,说多平台的诸多好处。我也稍微为以后的前景想了一下,我对android不感兴趣,但是对windows 8干兴趣,说不准那天热血来了,就开始转头去弄windows 8的游戏也说不准。也就干脆早接触早好。

==============================================

cocos2d-x官方wiki:              

cocos2d-x官方wiki的中文翻译:

==============================================

 

1.所有cocos2d-x的类都是CCNode的子类,可以通过手动或者通过执行动作(CCActions)进行(场景)切换;

2.CCDirector: 单例,用于在CCSence Stack之间导航,管理CCSence,以及负责初始化 open GL ES;

3.CCSence:   场景,可以展示游戏流程workflow,可接受其他CCNode子类,比如CCLayer, CCSprite等;

3.CCLayer:   层,添加了TouchEvent处理,包括CCTouchBegin, CCTouchMoved, CCTouchEnded, CCTouchCancelled; 这些触摸时间会在CCSence的所有CCLayer上传播,

      直到某一个layer截获时间并处理为止。 复杂的应用程序会要求你定义定制CCLayer子类,cocos2d提供了一些预先定义的层。一些例子包括CCMenu(简单的菜单层),

      CCColorLayer(填充色层),CCLayerMultiplex(可以复用他的子节点,可以每次激活其中一个子节点,同时禁用其他的)。层可以包含任何CCNode作为子节点,包括

      CCSprites(精灵), CCLabels(标签),甚至其他的CCLayer对象。

4.CCSprite: Cocos2d中的精灵和其他游戏引擎中的精灵相似。它是可以运动,旋转,缩放,执行动画,并接受其他转换。

      CCSprite是精灵的实现类,可以拥有其他的精灵作为子节点。当父节点的精灵改变,子节点也随之改变。

 

5.坐标系统

1)UI坐标系: 同iOS屏幕,左上角为远点,x右为正,y下为正; 

2)Direct3D坐标系: 左手笛卡尔坐标系,如图所示;  

3)iOS和cocos2d以及openGL ES坐标系: 右手笛卡尔坐标系,如图所示;      

          

 

 

重点:锚点以及坐标转换

1)锚点的概念如下图所描述,只与一个sprite的位置有关 ; 

2)坐标转换: 由于CCTouch传入的坐标,是使用的UI坐标系,因此,在cocos2d-x中,对触摸事件做出响应前需要对将坐标转换成openGL ES坐标系,也就是右手笛卡尔坐标系。

                    这里所说的坐标,实际上就是一个sprite的锚点位置坐标。

 

这涉及到cocos2d-x中的4个位置转换函数;

CCPoint convertToNodeSpace(const CCPoint& worldPoint);    //获取本地坐标,以
node1的左下角坐标为原点,计算node2的锚点相对于node1的锚点的平移
CCPoint convertToWorldSpace(const CCPoint& nodePoint);   //获取世界坐标,
暂时将node1坐标当做世界坐标系,然后按照node2的坐标移动node2
CCPoint convertToNodeSpaceAR(const CCPoint& worldPoint);  //AR表示相对位置, 就是把node1的坐标系原点设置在锚点的位置
CCPoint convertToWorldSpaceAR(const CCPoint& nodePoint); //AR表示相对位置,同上,把node1的坐标系原点设置在锚点的位置
详细地址:
 
 
 
=================
以上,暂时到这里,后面再更新。

 

转载于:https://www.cnblogs.com/traximus/archive/2013/04/23/3038014.html

你可能感兴趣的文章
感冒 类型
查看>>
DataGridView 清空数据
查看>>
iis网站发布相关问题
查看>>
信息安全实验四:information-security
查看>>
【CF1141E】Superhero Battle
查看>>
ssh登录一段时间后断开的解决方案
查看>>
【BZOJ3534】【Luogu P3317】 [SDOI2014]重建 变元矩阵树,高斯消元
查看>>
Ubuntu常用命令大全
查看>>
ScheduledExecutorService 定时任务,线程
查看>>
《C++ Primer Plus》读书笔记之三—循环与关系表达式
查看>>
vueJs2.0学习笔记(三)
查看>>
run in thread
查看>>
[HNOI2019]校园旅行
查看>>
vue实现菜单切换
查看>>
Java Web学习总结(28)——Java Web项目MVC开源框架SSH和SSM比较
查看>>
Maven学习总结(30)——Maven项目通用三级版本号说明
查看>>
如何提高iOS开发技能
查看>>
cocos2d-x HelloWorld 代码一撇
查看>>
2015.4.17专线割接
查看>>
map持久化类 Properties;对象序列化 ObjectOutputStream
查看>>