如何更改锚点并且不更改位置??
我有一个精灵,其锚点为0,0。
但是,我想临时更改锚点0.5,0.5,因为我想旋转精灵。
我想做的就是这样。
CGPoint anchorPointOriginal = ccp(0,0);
CGPoint anchorPointTemp = ccp(0.5,0.5);
[mySprite setAnchorPoint:anchorPointTemp];
//Rotate
[mySprite setAnchorPoint:anchorPointOriginal];
但是当我更改了anchorPoint时,sprite也会根据新的anchorpoint来移动位置
是否可以保留精灵位置并仅更改锚点?
更改锚点时,请尝试更改精灵的位置。就像是...
mySprite.anchorPoint = anchorPointTemp;
mySprite.position = CGPointMake(mySprite.position.x+mySprite.size.width/2,
mySprite.position.y+mySprite.size.height/2);
这将更改anchorPoint并移动精灵以正确补偿位置更改(由于锚点更改)。
如果要将锚点更改回CGPointZero,则需要撤消此操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句