4
如何创建一个缩放图像以适合输入范围的CCSprite,即如果我想要一个宽度= 70,高度= 50的CCSprite,并将该文件中的图像缩放到70,50。有没有一种简单的方法可以完成此操作,而不是根据图像尺寸计算比例因子,而不是计算所需的最终尺寸?如何创建一个CCSprite来设置边界?
如何创建一个缩放图像以适合输入范围的CCSprite,即如果我想要一个宽度= 70,高度= 50的CCSprite,并将该文件中的图像缩放到70,50。有没有一种简单的方法可以完成此操作,而不是根据图像尺寸计算比例因子,而不是计算所需的最终尺寸?如何创建一个CCSprite来设置边界?
不知道是否有一个更简单的方法,但我只是做类似
CGFloat myDesiredWidth=50;
CGFloat myDesiredHeight=70;
CGFloat startWidth=mySprite.size.width;
CGFloat startHeight=mySprite.size.height;
CGFloat scaleX=myDesiredWidth/startWidth;
CGFloat scaleY=myDesiredHeight/startHeight;
CGFloat finalScale=MIN(scaleX,scaleY);
mySprite.scale=finalScale;
丢弃到上CCSprite一个类别,你就再也不用担心它
这里根据@Martin的答案,这是一个类别实现工作
@implementation CCSprite(Resize)
-(void)resizeTo:(CGSize) theSize
{
CGFloat newWidth = theSize.width;
CGFloat newHeight = theSize.height;
float startWidth = self.contentSize.width;
float startHeight = self.contentSize.height;
float newScaleX = newWidth/startWidth;
float newScaleY = newHeight/startHeight;
self.scaleX = newScaleX;
self.scaleY = newScaleY;
}
@end
太棒了!谢谢。 – SpaceDog 2012-06-11 02:10:33