cocos2dx中的世界坐标和相对坐标是在游戏开发中很重的东西,今天本篇就主要讲解世界坐标,相对坐标,以及两者的转换。

世界坐标一般都是游戏中的场景的绝对坐标,相对坐标是在世界范围内参照其他元素的坐标

绝对坐标,相对坐标,类似于物理中的绝对运动和相对运动

若 A 的绝对坐标是(20, 20),B 的绝对坐标是(30, 40)那么A—>convertToNodeSpace(B->getPosition()) 指的是计算 B 相对 A 的相对坐标,那就是以 A 为参照计算 B 的新坐标 =(30-20, 40-20)=(10, 20),反过来 B->convertToNodeSpace(A->getPosition()) 就是以 B 为参照计算 A = (20-30, 20-40)=(-10, -20)(PS:convertToNodeSpace(A->getPosition()) 中的 A->getPosition() 是绝对坐标)

下面计算世界坐标,计算世界坐标是根据相对坐标进行计算,好好理解这句话,若这个时候 A (30, 40) B (5, 6)都是绝对坐标,但是利用下面这个函数 A->convertToWorldSpace(B->getPosition())这个时候 B (5, 6)就变成了 A 的相对坐标了,这个时候得到的新坐标(35, 46)