coco2d-x中点(point)和像素(pixel)的一点理解

    刚接触游戏开发,最近一直在对cocos2d-x中的一些基础概念进行理解,一开始便对point尺寸和pixel尺寸之间的关系很模糊,于是在网上找了一下资料,并整理了自己现在的理解,如有什么理解错误的地方请大家指点一下,在这里先谢谢大家了!!
    大家都知道:point构成了纸上的一幅图像,而pixel则是构成显示器上图像的基本单位,要将画好的一幅图像在显示器上显示出来就得做好point和pixel之间的映射,通俗点说就是纸上的一个point在显示器上需要几个pixel绘制才能绘制出来。
    将point和pixel看作单位长度,用一个式子表示上面的关系就是: point <=对应但不一定相等=> pixel * n
    现在试想,我们将一幅以point为分辨率单位,大小为resolutionInPointsX * resolutionInPointsY的2D图像在显示器中显示出来,此时它的point分辨率大小并未发生改变,只是point单位本身发生了伸缩。其中以pixel为分辨率单位的显示器大小为resolutionInPixelsX * resolutionInPixelsY。
    由于图像在显示器中显示出来了,图像大小与显示器大小相等,则有:point = pixel * n  (注意:这里变成了等号)
    有了上面的等式我们就可以得出:width   = resolutionInPointsX * pointX = resolutionInPointsX * nx * pixelX   ----- a
                                                                height = resolutionInPointsY * pointX = resolutionInPointsY * ny * pixelX   ----- b
                                                        且:width   = resolutionInPixelsX * pixelX   ----- c
                                                                height = resolutionInPixelsY * pixelX   ----- d
    其中pointX,pointY为point在x,y轴方向上的尺寸,pixelX,pixelY为pixel在x,y轴上的尺寸。
    由式子a和c,b和d可以得出显示器中pixel分辨率大小和point分辨率大小之间的对应关系如下:
                                                               resolutionInPixelsX = resolutionInPointsX * nx
                                                               resolutionInPixelsY = resolutionInPointsY * ny
    故当我们知道point尺寸时,还需要乘以一个对应的缩放因子才能得到对应的pixel尺寸,即
                                                               sizeInPixelsX = sizeInPointsX * nx
                                                               sizeInPixelsY = sizeInPointsY * ny
    由于一开始我们已经知道设计尺寸resolutionInPointsX * resolutionInPointsY和显示器分辨率resolutionInPixelsX * resolutionInPixelsY,不难直接求出
                                                               nx = resolutionInPixelsX / resolutionInPointsX 
                                                               ny = resolutionInPixelsY / resolutionInPointsY

在需要用到时直接获取引用即可。
总结上面的其实是一个很简单的道理:在x,y轴上resolutionInPoints与resolutionInPixels之间的转换是按对应比例nx,ny计算的。

good! 学习了