如何将Cocos2d应用程序扩展到iPhone 5屏幕?

时间:2013-04-04 12:39:04

标签: iphone ios xcode ipad cocos2d-iphone

我有一个Cocos3d v1.01应用程序,我目前正试图让iPhone 5全屏显示。

通过简单地拉伸背景足以满足大多数屏幕的需要,因为它只是一个填充屏幕的模式,无需更改任何UI部件,但是在我正在努力改变的其中一个屏幕上。

这是我认为为此设置背景的代码部分;

-(void)animations
{

    AppDelegate *app=(AppDelegate *)[[UIApplication sharedApplication]delegate];
    CGSize size = [[CCDirector sharedDirector] winSize];


        NSMutableArray *bodyanimframeBuddyBack =[[NSMutableArray alloc]init];
        for(int j = 1;j<=4;++j)
        {

            [bodyanimframeBuddyBack addObject:[[CCSpriteFrameCache sharedSpriteFrameCache]spriteFrameByName:[NSString stringWithFormat:@"shark_sea_waves5%d.png",j]]];

        }

        CCAnimation *BuddyAnimBack = [CCAnimation animationWithFrames:bodyanimframeBuddyBack delay:0.3f];
        self.backgroundAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:BuddyAnimBack restoreOriginalFrame:NO]];

        CCSprite  *bg=[CCSprite spriteWithSpriteFrameName:@"shark_sea_waves51.png"];

        bg.position=ccp(size.width/2, size.height/2);
        [self addChild:bg];
        [bg runAction:backgroundAction];

有没有办法调整?我猜这是bg.position部分需要改变告诉它是否是iPhone5?

提前致谢,

克里斯

2 个答案:

答案 0 :(得分:1)

bg.scaleX = size.width / bg.contentSize.width;

这将拉伸bg宽度以匹配屏幕宽度。

答案 1 :(得分:0)

为什么你不能为iPhone 5设置单独的背景..就像你为iPad做的那样。

#define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)

#define TEX_MM_BG   (IS_IPHONE5) ? ( @"shark_sea_waves51-whd.png") : ( @"shark_sea_waves51.png")


-(void)setupBackground
{
    CCSprite *bg = [CCSprite spriteWithFile:TEX_MM_BG];
    bg.position  = ccp(mS.width*0.5f, mS.height*0.5f);
    [self addChild:bg z:-3 tag:kTagBackground];
}

//也将这些图像放入硬盘。

shark_sea_waves51.png       //480x320
shark_sea_waves51-hd.png    //960x640
shark_sea_waves51-whd.png   //1136x640
shark_sea_waves51-ipad.png  //1024x768
shark_sea_waves51-ipadhd.png //2048x1536