这一篇,我们来了解一下cocos2dx中的坐标系系统。这也许是最轻松的一片,因为只是了解,其中的坐标,并不会进行实验。好,现在来看看吧~
说到坐标系,我们都第一印象就是直角坐标系。是的,这是我们学习数学时所接触的,这里的坐标系也是如此。其实这个坐标系是由一位法国的数学家笛卡尔所建立的,而cocos的底层是有OpenGL所实现的。OpenGL坐标系起源于笛卡尔坐标系,所以我们需要来了解一下笛卡尔坐标系是如何的。我采用了一张网上的图片,方便读者观察:
笛卡尔坐标系分为两种法则:一种是左手法则,一种是右手法则。
OpenGL采用了笛卡尔坐标系中的右手法则。所以我们的cocos2dx的坐标系统便是笛卡尔的右手法则的坐标系。
就二维平面而言,z轴则是在屏幕里面指向屏幕外边的。
现在又有一个问题了,我们手机上的坐标系也是这样么?
其实并不是,对于比如iOS、android、windows phone等手机设备,它们也有独特的坐标系系统,叫做标准坐标系,也称模型坐标系。可以看下下面的一张图就清晰了:
对于标准坐标系而言,cocos的坐标系只是y轴相反,它们的x轴都垂直y轴指向左边,z轴则都由里指向外,所以区别也不是很大。
然后,我们来说说本地坐标系和世界坐标系的区别。
本地坐标系,也称相对坐标系。比如你把背景图片添加到场景中,然后又把按钮添加到背景中,此时当背景移动,按钮就会跟着动,这就是父类与子类的关系。所以相对坐标系就是父类与子类的相对坐标,相对位置的问题。
而世界坐标系就是场景中的坐标的问题了。你把背景图片添加到场景中,此时这张背景图片处于该场景中的一个坐标,而你把按钮也添加到该场景中,则又存在了另外的一个坐标,而这两个物体是独立存在于该场景中的,它们的世界坐标可以相同,也可
以不同!
然后坐标系的转换就在下一篇再讲解,这一篇就先了解cocos2dx的坐标系以及相关的概念问题而已~
好了,就先说到这里吧~