如何创建一个 CCSprite 来缩放图像以适应输入范围,即如果我想要一个宽度 = 70 且高度 = 50 的 CCSprite 并将文件中的图像缩放到 70,50。除了从图像的大小与所需的最终大小相比计算比例因子之外,是否有一种简单的方法可以做到这一点?
问问题
5113 次
2 回答
9
这是一个有效的类别实现,基于@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
于 2010-11-18T12:16:25.847 回答
3
不确定是否有更简单的方法,但我会做类似的事情
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 上的一个类别中,你再也不用担心它了
于 2010-11-10T00:29:06.437 回答