加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx坐标系统学习

发布时间:2020-12-14 14:17:49 所属栏目:百科 来源:网络整理
导读:坐标系有两种划分方式:屏幕UI坐标和OpenGL坐标。 屏幕UI坐标:原点在屏幕的左上角,X轴向右,Y轴向下。ios,android和windows phone使用的是屏幕坐标系。(触屏事件中getLocationInView()方法获取的是UI坐标) cocos2dx坐标系和OpenGL坐标系一样,原点在屏

坐标系有两种划分方式:屏幕UI坐标和OpenGL坐标。

屏幕UI坐标:原点在屏幕的左上角,X轴向右,Y轴向下。ios,android和windows phone使用的是屏幕坐标系。(触屏事件中getLocationInView()方法获取的是UI坐标)

cocos2dx坐标系和OpenGL坐标系一样,原点在屏幕的左下角,X轴向右,Y轴向上。(XY轴和中学课本上一致,放置精灵啊什么的其实用的这个坐标系,触屏事件中getLocation获取的是GL坐标)。

以上两种坐标系可通过Director类的方法进行相互转换。方法分别为:Vec2 convertToUI(const Vec2& point)和Vec2 convertToGL(const Vec2& point);

如果我们获取了UI坐标,在给对象setpoint时需要注意转换成GL坐标。

示例如下:

Vec2 Touch_Point; (定义精灵等对象安放的坐标点)

autotouch=touches.at(0);(取得多点触屏的对象) //Touch_Point=Director::getInstance()->convertToGL(touch->getLocationInView()); Touch_Point=touch->getLocation();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读