【问题标题】:Cocos2D - filling a spriteCocos2D - 填充精灵
【发布时间】:2011-11-22 15:05:27
【问题描述】:

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

imageView.contentMode = UIViewContentModeScaleAspectFit;

它会用您的图像填充整个视图而不会扭曲,即使它必须使图像流血才能做到这一点。

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

我正在创建这样的精灵:

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

谢谢。

【问题讨论】:

    标签: iphone ios cocos2d-iphone


    【解决方案1】:

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

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

    至于它是否适合特定大小,您必须编写一个例程:

    1. 传入所需的矩形和CCSprite边界框矩形。
    2. 缩放矩形矩形以适应所需矩形。
    3. 返回比例因子

    然后可以将结果应用于 CCSprite.scale 属性。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-16
        相关资源
        最近更新 更多