Cocos2d iphone 如何创建CCSprite来设置边界?
如何创建缩放图像以适应输入边界的CCSprite,即如果我想要一个宽度为70、高度为50的CCSprite并将文件中的图像缩放到70,50。除了根据图像的大小与所需的最终大小计算比例因子外,还有其他简单的方法吗?不确定是否有更简单的方法,但我只想Cocos2d iphone 如何创建CCSprite来设置边界?,cocos2d-iphone,sprite,bounds,Cocos2d Iphone,Sprite,Bounds,如何创建缩放图像以适应输入边界的CCSprite,即如果我想要一个宽度为70、高度为50的CCSprite并将文件中的图像缩放到70,50。除了根据图像的大小与所需的最终大小计算比例因子外,还有其他简单的方法吗?不确定是否有更简单的方法,但我只想 CGFloat myDesiredWidth=50; CGFloat myDesiredHeight=70; CGFloat startWidth=mySprite.size.width;
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