如何围绕特定点而不是中心点旋转精灵?
CCSprite旋转或CCRotateTo动作围绕中心点旋转。
我正在尝试旋转脸部的图像。围绕中心(鼻子)旋转的效果不如在略低于中心(下巴)的点周围旋转。
在Photoshop中,可以更改旋转的锚点。可以在cocos2d-iphone中完成吗?
答案 0 :(得分:1)
最明显的方法是扩大精灵的大小。
如果高度是50px,当前中心旋转点是中间(25px),并且你想要它是30px,只需在photoshop中放大你的精灵画布,这样图像就可以获得10px的透明空间在底部。
希望这有助于解决您的问题,我从未在cocos2d中看到过旋转的锚点参考。
答案 1 :(得分:0)
您应该相应地更改您的anchorPoint。
AnchorPoint将成为ccsprite旋转的中心,它从左下角(0.0,0.0)开始到右上角(1,1)。要计算它,获取相对于ccsprite的点位置,并除以精灵大小:
//anchorPoint position
float x = myRotationPosition.x/ mySprite.width;
float y = myRotationPosition.y/ mySprite.height;
mySprite.anchorPoint = cpp(x,y);
//rotate mySprite based on new anchorPoint
mySprite.rotation = 90;
希望有所帮助