Cocos2D - 填充精灵

时间:2011-11-22 15:05:28

标签: iphone ios cocos2d-iphone

UIImageViews有一个名为contentMode的属性,您可以将其用作

imageView.contentMode = UIViewContentModeScaleAspectFit;

它会在不影响图像的情况下使用您的图像填充整个视图,即使它必须使图像流失也是如此。

Cocos2D上有类似的东西吗?对这个问题感到抱歉,但我是Cocos2d的新手。

我正在创建这样的精灵:

CCTexture2D *textBack = [[CCTexture2D alloc] initWithImage:image];
CCSprite *sprite = [CCSprite spriteWithTexture:textBack];

感谢。

2 个答案:

答案 0 :(得分:2)

执行UIViewContentModeScaleAspectFit的等效方法是 .scale 属性。当首次创建CCNode(或任何子节点,如CCSprite等)时,scale属性为1.继续增加它以按比例缩放精灵。

sprite.scale = 2.0f; // Scales the sprite proportionally at a factor of 2

至于它适合特定大小,你必须写一个例程:

  1. 传入所需的rect和CCSprite边界框rect。
  2. 将方框缩放到适合所需矩形的方位。
  3. 返回缩放系数
  4. 然后可以将结果应用于CCSprite.scale属性。

答案 1 :(得分:1)

你当然可以缩放精灵来做到这一点......

sprite.scale  = ?
sprite.scaleX = ?
sprite.scaleY = ?

但我不相信有自动填充整个屏幕的功能。如果你在这里没有得到明确答复,我建议你在Cocos2D论坛上发帖(http://www.cocos2d-iphone.org/forum/)。