簡體   English   中英

如何將Cocos2d應用程序縮放到iPhone 5屏幕?

[英]How to scale Cocos2d app to iPhone 5 screen?

我有一個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?

提前致謝,

克里斯

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

這將拉伸bg寬度以匹配屏幕寬度。

您為什么不能像為iPad那樣為iPhone5 ..放置單獨的背景。

#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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM