【问题标题】:cocos2dx Sprite setPosition errorcocos2dx Sprite setPosition 错误
【发布时间】:2013-04-02 09:59:09
【问题描述】:

我将图像精灵定位在 (0,0) 位置,以便屏幕左边缘与图像左边缘重合。但是图像总是出现在屏幕的中心,图像和屏幕的中心重合。

CCImage 的大小为 854 x 480,getVisibleSize() 返回 320 x 240。 要显示图像左侧与屏幕左边缘重合的精灵,我必须 setPosition at x= -264

我在cocos2dx wiki co-ordinates systems 浏览了这个 wiki,它说 (0,0) 从左下角开始。 我还看到Cocos2d-x reference of setPosition method 重复相同的内容。

我错过了什么吗?任何想法为什么会发生这种情况?

更新 我想我应该提到我正在为此使用CCLayerPanZoom 扩展名。 getAnchorPoint() 返回 x = 0.5 和 y = 0.5

【问题讨论】:

  • 您是否修改了图像的锚点及其任何父项?还要记住,位置是对父(和父的父等)位置的偏移,所以如果父的位置之一是 264,0,那么所有的子将偏移相同的量。
  • 锚点为 (0.5 , 0.5)
  • 我同意。精灵的父级可能不在 0,0

标签: c++ cocos2d-x coordinates coordinate-systems


【解决方案1】:

这会将您的图像精灵定位到屏幕的左下角:

sprite->setAnchorPoint(CCPoint(0, 0));

sprite->setPosition( ccp(0,0));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多