0

我有一个在 iPad 上正确缩放的精灵动画,但在 iPad 视网膜上显示为一半大小(图像宽 1024 像素,高 20 像素,无论是否在视网膜上,都应该横跨整个屏幕)。我不想为这个动画创建一个 -ipadhd 精灵表,因为文件太大,如果分辨率不是很好,我很好。那么如何强制它在 Retina 设备上放大两倍大小,以便它在屏幕上伸展呢?

[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"zapperAnim.plist"];
CCSpriteBatchNode *spriteSheet = [CCSpriteBatchNode batchNodeWithFile:@"zapperAnim.png"];

NSMutableArray *walkAnimFrames = [NSMutableArray array];
NSString *frameName = @"length_0000";

        for (int i=0; i<=6; i++) {
            [walkAnimFrames addObject:
             [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"%@%d.png", frameName, i]]];
        }

        CCAnimation *zapAnim = [CCAnimation animationWithSpriteFrames:walkAnimFrames delay:0.05f];

        self.zapper = [CCPhysicsSprite spriteWithSpriteFrameName:[NSString stringWithFormat:@"%@0.png", frameName]];
        self.zapAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:zapAnim]];
        [self.zapper runAction:self.zapAction];
4

3 回答 3

0

如果使用 Ipad 视网膜,请执行以下操作:

    self.zapper.scale = 2.0;
于 2013-08-12T20:17:08.757 回答
0

你可以检查屏幕是否是视网膜,然后设置比例 2

if((([[UIScreen mainScreen] respondsToSelector:@selector(scale)] &&
[UIScreen mainScreen].scale > 1))) spr.scale = 2;
于 2014-02-01T06:41:14.010 回答
0

在为 android 编码之后,我尝试将设备检查保持在最低限度。我会使用类似的东西

self.zapper.scale=winSize.height/self.zapper.contentSize.height;
于 2014-02-01T19:08:19.240 回答