cocos2dx 坐标转换

Point point1 = sprite1->convertToNodeSpace(sprite2->getPosition());

绝对坐标转相对坐标

newP2 = (p2.x-p1.x, p2.y-p1.y)

Point point2 = sprite1->convertToWorldSpace(sprite2->getPosition());

相对坐标转绝对坐标

newP2 = (p2.x+p1.x, p2.y+p1.y)

时间: 2024-11-05 23:23:49

cocos2dx 坐标转换的相关文章

cocos2d-x(2.2) 学习之坐标转换

坐标转换GL坐标系:Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. 屏幕坐标系:苹果的Quarze2D使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下.ios的屏幕触摸事件CCTouch传入的位置信息使用的是该坐标系.因此在cocos2d中对触摸事件做出响应前需要首先把触摸点转化到GL坐标系.可以使用CCDirector的convertToGL来完成这一转化. 世界坐标系:也叫做绝对坐标系.世界坐标系和GL

关于COCOS2D-X 中的CCRectMake参数小注

在使用CocoStudio和Cocos2d-x混合编程过程中,坐标转换是不可避免的.因此,要随时注意,当然坐标.Rect是全局性的还是局部性的.时间长了,许多基础内容易于忘记,这不---小小的宏函数CCRectMake的参数各自函数就忘记了!故备注于此. 在编码时,当忘记相应参数含义时,我常常按下快捷键F12,转换相应的头文件去分析一下.可怜的是,宏函数CCRectMake各个参数就没有很好的注解. 格式:CCRectMake(x,y,width,height) 对于Widget控件,一般情况下

Cocos2d-x Tiled地图编辑器(二)精灵走动起来、碰撞检测

图: 程序代码: 头文件声明函数及变量 void registerWithTouchDispatcher(void); bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent); void setViewpointCenter(CCPoint position) ; void setSpritePoint(CCPoint position) ;

Cocos2d-x 3.0坐标系详解(转载)

Cocos2d-x 3.0坐标系详解Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系.笛卡尔坐标系笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右手系.屏幕坐标系和Cocos2d坐标系标准屏幕坐标系使用和OpenGL不同的坐标系,而Cocos2d则使用和OpenGL相同的坐标系.iOS, Android, Windows Phone等在开发应用时使用的是标准屏幕坐标系,原点为屏幕左上角,x向右,y向下.Cocos2d坐标系和Ope

Cocos2d-x的坐标系和其转换方式

1.坐标系 cocos2d使用的是opengl坐标系,这里说的cocos2d是指cocos2d中所有的节点的节点坐标系也都是使用的opengl坐标系. 手机设备使用的是标准设备坐标系,这与cocos2d无关. 2.锚点 锚点是一个相对位置,值从0-1,这是个节点的属性,按照cocos2d使用opengl坐标,右上角是(1,1)这个锚点坐标,右下角是(0,0)坐标 下面的图是重设锚点,绿色层设置位置为(0,0),在红色层添加绿色层: 每个节点有一个忽略锚点的属性,如果设置为true,则节点锚点强制

Cocos2d-X中的动作展示《二》

由于Cocos2d-X中的动作较多,我将所有的动作制作成了一个滚动视图,每个滚动视图上都有动作名,单击滚动视图就可以展示相应的动作 程序效果图: 使用滚动视图实现动作切换 动作展示 首先创建一个ActionMore类 ActionMore.h中的代码 #ifndef _ActionMore_H_ #define _ActionMore_H_ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; USING_

实例介绍Cocos2d-x物理引擎:使用关节

在游戏中我们可以通过关节约束两个物体的运动.我们通过一个距离关节实例,介绍一下如何在使用关节. 这个实例的运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触摸点和附近生成两个新的精灵,它们的运行是自由落体运动,它们之间的距离是固定的.图示是开启了绘制调试遮罩,从图中可见,调试遮罩不仅会显示物体,还会显示关节. 使用距离关节实例 使用距离关节实例(绘制调试遮罩) 代码部分中HelloWorldScene.h文件与上一节的实例非常类似,不再介绍了.HelloWorldS

cocos2d-x Maker 笔记(一)

与cocos相伴4年了,从起初的cocos2d到如今的cocos2d-x,静静地看着触控拖沓的前进着.一路沿着cocos的代码一点一点学习游戏开发,对cocos的感情难以言喻,尽管cocos有着这样那样的缺陷,unity有着这样那样的优势,依然抱着cocos不肯撒手.很久很久以前就想自己动手写一个基于cocos的编辑器,但是一会儿我一个小屁程序员怎么搞的定,一会儿想想cocosstudio几百个人的团队做着呢,一会儿想想这么一个没钱途的事情,做了有什么意义,一会儿想想就自己那懒样,哪能做得起那么

Cocos2d-x v3.6制作射箭游戏(二)

上章我们创建并加载了游戏地图,接下来的两章我们将实现如下的效果. 在开始之前,先给大家道个歉,因为前几周忙,没有时间写教程,所以迟迟都没更新,让有些童鞋久等了,见谅哦!! 本章我们的主要任务是创建射箭的弓箭手(也就是游戏猪脚),并且让这个猪脚随着触摸点的改变不断的旋转手中的弓箭. 分析: 对于这个射箭的角色而言,它能不停的射出弓箭.当我们按住屏幕上某点时,会从该角色拿弓箭的手的位置“画”一条标注箭支运动轨迹的红线(看似抛物 线):当在屏幕上滑动手指或鼠标时,这条红线会随着触摸点的位置不停的变换轨