我已经在这个问题上度过了很多天,我不太清楚convertToWorldSpace,convertToNodeSpace是做什么......
我有2层(CCNode),我可以缩放,一个用于平移屏幕,所以我总是缩放显示的内容,使缩放的中心在屏幕中间:
scaleLayer=[CCNode node];
scaleLayer.position= ccp( size.width /2 , size.height/2 );
[self addChild:scaleLayer z:-2000];
panLayer=[CCNode node];
panLayer.position= ccp( -size.width /2 , -size.height/2 );
[scaleLayer addChild:panLayer z:-2000];
现在我将精灵添加到panlayer: [panLayer addChild:mysprite z:2];
我想要一个按钮,当按下该按钮时,移动panlayer以使精灵在屏幕中间。 我写过这个但是只有在scaleLayer.scale = 1
的情况下才有用CGPoint p;
p=[panLayer convertToWorldSpace:mysprite.position];
p.x=(panLayer.position.x+(240-p.x));
p.y=(panLayer.position.y+(160-p.y));
[panLayer runAction:[CCMoveTo actionWithDuration:0.5 position:p]];
如何让精灵以不同的比例位于屏幕的中心? 谢谢
答案 0 :(得分:0)
我不确定您现有的代码是做什么的,但您可能会发现属性mysprite.boundingBox
很有用。它将为您提供一个CGRect
精灵的宽度和高度以及左下角的位置,它将反映您应用于精灵的任何比例。