为什么我们除以2 getContentSize?

时间:2013-01-05 11:38:34

标签: cocos2d-x

当我们描述actionMove

时,在sample from Cocos2d-x Tutorials
CCFiniteTimeAction* actionMove = 
CCMoveTo::create( (float)actualDuration, 
ccp(0 - target->getContentSize().width/2, actualY) );

我们设置了一个点ccp(0 - target-> getContentSize()。width / 2,actualY)。如果我们有20宽度的目标,那么我们有点(-10,actualY),并且半目标必须是可见的,但事实并非如此。为什么呢?

初始目标位置

target->setPosition( 
  ccp(winSize.width + (target->getContentSize().width/2), 
  actualY) );

这里我们也除以2,但我理解它(winSize.width +任何数字和目标在屏幕外变得不可见)。

1 个答案:

答案 0 :(得分:0)

Cocos2d-x使用对象的中心作为原点/锚点,而不是角落。因此,如果您希望在屏幕边缘看到一半对象,请使用:

ccp(0, actualY)

ccp(winSize.width)

如果您希望对象完全不在屏幕上,请添加一半contentSize。