`

cocos2d 坐标系

 
阅读更多
- (CGPoint)convertToNodeSpace:(CGPoint)worldPoint
{
	CGPoint ret;
	if( CC_CONTENT_SCALE_FACTOR() == 1 )
		ret = CGPointApplyAffineTransform(worldPoint, [self worldToNodeTransform]);
	else {
		ret = ccpMult( worldPoint, CC_CONTENT_SCALE_FACTOR() );
		ret = CGPointApplyAffineTransform(ret, [self worldToNodeTransform]);
		ret = ccpMult( ret, 1/CC_CONTENT_SCALE_FACTOR() );
	}
	
	return ret;
}

- (CGPoint)convertToWorldSpace:(CGPoint)nodePoint
{
	CGPoint ret;
	if( CC_CONTENT_SCALE_FACTOR() == 1 )
		ret = CGPointApplyAffineTransform(nodePoint, [self nodeToWorldTransform]);
	else {
		ret = ccpMult( nodePoint, CC_CONTENT_SCALE_FACTOR() );
		ret = CGPointApplyAffineTransform(ret, [self nodeToWorldTransform]);
		ret = ccpMult( ret, 1/CC_CONTENT_SCALE_FACTOR() );
	}
	
	return ret;
}




convertToWorldSpace方法可以把基于当前node的本地坐标系下的坐标转换到世界坐标系中。
convertToNodeSpace方法可以把世界坐标转换到当前node的本地坐标系中。

http://www.cnblogs.com/cppguru/archive/2011/05/10/2041835.html
分享到:
评论

相关推荐

    Cocos2d-x开发游戏的坐标系知识介绍

    然而,在IOS设备上,屏幕坐标系默认原点在左上角,与OpenGL坐标系正好相反,因此在Cocos2d-x中处理触摸事件时,需要将触摸点的位置转换为OpenGL坐标。 OpenGL坐标系,又称为绘图坐标系,是游戏开发中常见的坐标系之...

    Photoshop坐标转化成cocos2d坐标工具mac版

    "Photoshop坐标转化成cocos2d坐标工具mac版"是一个专门为解决这个问题而设计的应用,它帮助前端开发者和设计师将Photoshop中的图形元素位置无缝转换到cocos2d-x游戏引擎的坐标系统中。以下是对这个工具及其相关知识...

    Cocos2d-x学习笔记(三)—— 坐标系

    Cocos2d-x学习笔记(三)—— 坐标系

    android cocos 2D范例

    4. **坐标系统**: Cocos2D有自己的坐标系统,其中原点位于屏幕左上角,x轴向右,y轴向下。获取到的点击坐标需要转换为Cocos2D的坐标系统,以便正确地与游戏对象交互。 5. **集成cocos2d-android.jar**: 工程中包含...

    将3D坐标转成2D坐标的方法2

    转换后的坐标会处于屏幕的左上角为原点的坐标系中,其中x和y值范围在0到1之间。如果需要将其转换为像素坐标,可以乘以屏幕的宽度和高度。但需要注意的是,Unity的屏幕y轴方向是反的,因此,屏幕坐标系统的y轴是从...

    cocos2d入门cocos2d入门

    5. **坐标系**:在OpenGL ES中,坐标系原点位于屏幕底部中央,Y轴向上,X轴向右。`anchorPoint`是精灵的锚点,用于指定旋转和缩放的中心点。 6. **Menu与MenuItem**:菜单用于展示游戏的交互元素,如按钮。MenuItem...

    cocos2d-android

    默认情况下,触摸事件的原点位于屏幕左上角,而游戏中的坐标原点位于左下角。因此,在处理触摸事件时,必须先将触摸点转换为游戏坐标系统下的坐标。 6. **CCSprite**:代表游戏中的精灵对象,是游戏画面中最基本的...

    cocos2d的资料

    3. **关于cocoa和cocos2d的简单坐标系关系**:Cocos2d是基于Cocoa Touch构建的,因此了解Cocoa中的坐标系统对理解Cocos2d的布局至关重要。在Cocos2d中,坐标原点通常位于屏幕左上角,而Y轴向下。熟悉这个坐标系统有...

    cocos2d-x文字描边Demo

    `draw()`方法允许我们在屏幕坐标系上直接绘制,因此我们可以在此处利用OpenGL ES的顶点数组和着色器来实现描边效果。通常,我们会先绘制原文字,然后在周围加上一圈与设定颜色和宽度一致的线条,以达到描边的效果。 ...

    如何用cocos2d制作一款简单的iphone游戏

    3. **确定位置**:Cocos2d使用左下角作为坐标原点(0,0),与常见的左上角坐标系不同。若要将玩家精灵放置在屏幕左侧中央,则x坐标应为玩家精灵宽度的一半,而y坐标则为屏幕高度的一半。 #### 进阶知识点 - **动画...

    知易 Cocos2D-iPhone 游戏开发教程002

    Cocos2D-iPhone使用的是屏幕坐标系,原点位于左下角,x轴向右,y轴向上。这种坐标系与传统的直角坐标系有所不同,因此在处理位置和布局时需要注意坐标方向。Cocos2D-iPhone还提供了`CCPoint`和`CGSize`等类型,用于...

    opengl es以及cocos 2d教程

    - **坐标系**:OpenGL ES使用右手坐标系,Z轴正方向朝向屏幕内部。 - **着色器**:程序片段,运行在GPU上,负责颜色计算和光照效果。 - **帧缓冲区**:用于存储最终图像的内存区域。 - **纹理**:在图像数据上...

    cocos2d-x面试题DOCX文档

    当CCSprite对象转换坐标系的时候,它所包含的CCSprite对象也会转换坐标系。sprites是CCNode的子类,所以他们也可以使用actions来转换坐标。 三、CCNode CCNode是场景、层、菜单、精灵等所有节点的父类,它是一个...

    cocos2d-x 自学文档

    【cocos2d-x 自学文档】 cocos2d-x 是一个开源的游戏开发框架,它基于C++,广泛应用于移动游戏开发。以下是一些cocos2d-x的关键知识点: 一、运动中的加速度 在cocos2d-x中,我们可以利用Ease系列的方法来实现物体...

    cocos2d-x obb 旋转碰撞 矩形

    - 首先,需要转换obb的坐标到矩形的局部坐标系,这样可以简化问题,使得obb看起来像是静止的。 - 然后,计算obb的边线与矩形边线的最小距离,如果所有边的距离都大于零,则说明没有碰撞;如果存在某个边的距离小于...

    【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(一)

    Cocos2d-x是一款流行的开源游戏开发框架,广泛用于2D游戏的开发。在这个系列的开发笔记中,我们将深入探讨如何使用Cocos2d-x与Tiled Map Editor结合,创建和管理游戏地图。Tiled Map Editor是一款强大的2D地图编辑器...

    cocos2d-x-2.2.3安卓横竖屏自动切换

    如果游戏包含物理引擎,如Box2D,那么屏幕方向的改变可能会影响到物理世界的坐标系。需要在屏幕切换时相应地调整物理世界的方向和比例,以保持游戏逻辑的一致性。 5. **测试与优化** 在实现横竖屏切换后,务必在...

Global site tag (gtag.js) - Google Analytics