cocos2dx中的坐标系和锚点
来源:互联网 发布:信阳淘宝摄影e 编辑:程序博客网 时间:2024/05/17 04:12
在cocos2dx中,坐标系和锚点是非常重要的基础。
在cocos2dx中,坐标原点位于画面的左下角,X轴水平向右递增,Y轴垂直向上递增。使用这种坐标系的原因,是因为cocos2dx是基于OpenGL的3DAPI创建。
锚点:是向画面输出图像或者文本等对象的基准点。
引入锚点是因为我们所插入的精灵一般是一张图片,那么我们在对精灵设置坐标的时候,应该让精灵中的哪个点对准我们所设置的坐标呢?由此cocos2dx引入锚点的概念。所以锚点可以说是我们向画面输出对象的基准点。
在cocos2dx中,默认的锚点是(0.5,0.5),当我们把锚点设置为(0,0)的时候,锚点位于对象的左下角,即对象的左下角会和我们设置的对象的坐标点重合。
如图,假设我们所设置的精灵为图上的矩形,精灵对象的位置为(100,100),锚点的位置为(0,0),则精灵对象的左下角就会和点(100,100)重合。
将锚点位置设置为(0,1)时,锚点位于精灵对象的左上角。即精灵对象的左上角会和点(100,100)重合。
将锚点设置为(1,1)时,精灵对象的右上角将和点(100,100)重合。
将锚点设置为(1,0)的时候,精灵对象的右下角将和点(100,100)重合。
上面把锚点设置在不同的位置,输出的图像不同,下面通过一个小例子来更加清晰的认识下锚点。
auto spr1 = Sprite::create("rectange.png");
spr1->setPosition(Point(600, 600));
this->addChild(spr1);
运行上述代码,显示如下效果图:
auto spr = Sprite::create("ball1.png");
spr->setAnchorPoint(Point(0,0));
spr->setPosition(Point(0,0));
spr1->addChild(spr);
当把锚点设置为(0,0)的时候,精灵的左下角和(0,0)对准。
spr->setAnchorPoint(Point(0,1));
spr->setPosition(Point(0,0));
spr1->addChild(spr);
当把锚点位置设置为(0,1)的时候,精灵的左上角和(0,0)对准。
spr->setAnchorPoint(Point(1,1));
spr->setPosition(Point(0,0));
spr1->addChild(spr);
当把锚点位置设置为(1,1)的时候,精灵的右上角和(0,0)对准。
spr->setAnchorPoint(Point(1,0));
spr->setPosition(Point(0,0));
spr1->addChild(spr);
当把锚点位置设置为(1,0)的时候,精灵的右下角和(0,0)对准。
写的有点粗糙,欢迎大家斧正,你们的意见是我最大的进步!
- cocos2dx中的坐标系和锚点
- Cocos2dx坐标系,锚点
- cocos2dx 坐标系锚点总结
- <一> cocos2dx不同的坐标系,锚点
- cocos2dx不同的坐标系,锚点
- Cocos2dx-游戏开发中不同的坐标系,cocos2dx锚点
- Cocos2dx-游戏开发中不同的坐标系,cocos2dx锚点
- [windows+cocos2dx](绝对/相对)坐标系、锚点、深度、
- 二、Cocos2dx-游戏开发中不同的坐标系,cocos2dx锚点
- Cocos2dx概念介绍(游戏开发中不同的坐标系,cocos2dx锚点)
- cocos2d-x坐标系和锚点整理
- UGUI RectTranstrom锚点和坐标系
- cocos2dx 坐标和锚点
- Cocos2d-x 3.0-绘图节点Node中的锚点和坐标系
- 03、坐标系、锚点
- cocos2dx 坐标系
- cocos2dx 坐标系
- cocos2dx坐标系
- hdu1166敌兵布阵(线段树模板)
- 饿了么面试
- Linux命令之write调用的原子性
- 监听套接字 连接套接字
- HDU 4762 Cut the Cake (高精度 + 公式)
- cocos2dx中的坐标系和锚点
- 浅谈java单例模式——优点以及为什么使用到synchronized
- error C2872: “Font”: 不明确的符号
- extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
- java 排序算法---插入排序
- The Factor(hdu5428)
- Android的AsyncTask和数据存储
- 重新认识二级指针(Pointers to Pointers)
- lintcode-验证查找二叉树-95