在cocos2d中更新精灵的高度

时间:2014-04-19 00:52:16

标签: cocos2d-iphone

我需要将精灵的高度精确地缩放到固定值。我不认为scaleBy()或scaleTo()函数可以提供帮助。请帮我解决一下。

1 个答案:

答案 0 :(得分:2)

每个CCSprite对象都具有scale,scaleX和scaleY的属性。在您的情况下,您应该使用scaleY属性并执行一些简单的数学运算:

sprite.scaleY = DESIRED_HEIGHT/sprite.contentSize.height;

但是你必须确保你想要的高度是漂浮的,否则你可能会遇到一些问题,比如总是有0或1!

如果要为其设置动画,您还可以使用CCScaleTo操作:

float scaleY = DESIRED_HEIGHT/sprite.contentSize.height;
[sprite runAction:[CCScaleTo actionWithDuration:duration scaleX:sprite.scaleX scaleY:scaleY]];

希望这有帮助!