2012-03-10 1 views
11

Sto facendo un gioco in cui sto affrontando un problema quando provo la mia app su dispositivo (iPhone4) lo sfondo di esso non funziona. Come quando l'immagine di sfondo finisce BLACKISH BACKGROUND COLOR comes. Il mio dimensioni dell'immagine di sfondo è 460X2880, nome dell'immagine "mars_sample.jpg" (per iPhone4) e il codice per il movimento di fondo è:Il codice "BackgroundMoving" non funziona in iPhone4S

-(void)backgroundmoving:(ccTime)dt 
{  
    static float bk_f=0.0f; 

    bk_f -=0.9; 
    if (bk_f <= -960*3) {bk_f=0;} 
    background.position = ccp(0,bk_f);  
} 

Quando sto loading image size "460X2880" come immagine di sfondo allora non carichi in background E se è simile alla dimensione "460X1192" carica l'immagine sullo sfondo ma mostra il FONDO NERO sullo schermo in alto.

Qui di seguito uno codice è per un'immagine Impostazioni sfondo:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    background = [CCSprite spriteWithFile:@"staripad.png"]; 
    background.anchorPoint= ccp(0,0); 
    [self addChild:background z:0]; 
} else { 
    background = [CCSprite spriteWithFile:@"mars_sample.jpg"]; 
    background.anchorPoint= ccp(0,0); 
    [self addChild:background z:0]; 
    [self schedule:@selector(backgroundmoving:) interval:1/30]; 
} 

prego mi danno qualche suggerimento, come funzionerà. ringrazia tutti

saluti,

Tauseef Khan

+0

non è lo schermo su iPhone 480px alto (senza la barra di stato) - si tratta dello SFONDO NERO nella parte superiore dello schermo? In caso contrario, per favore aggiungi uno screenshot alla tua domanda :) – deanWombourne

+0

Questi sono i link per Screen Short, Per cosa sono esattamente di fronte al problema !!! http://www.mediafire.com/?s9dh63n3pv3znil http://www.mediafire.com/?lfdxxrclo365ozj – NSExpression

risposta

2

Controlla background.position = ccp(0, bk_f) in backgroundmoving si imposta il valore Y del punto ad un valore fisso, bk_f. Suppongo che sia il valore X che vorresti cambiare per far scorrere l'immagine di sfondo, background.position = ccp(bk_f, 0).

Il parametro dt a backgroundmoving che presumo fornisca un'immagine di sfondo in movimento non viene utilizzato.

Assicurarsi che la vista di sfondo sia impostata per espandersi per adattarsi alla super vista utilizzando le proprietà di autosize.

Esaminare l'origine nella proprietà frame della vista sullo sfondo - verificare che si trovi nella parte superiore dello schermo.

Vorrei aggiungere un UIView semplice dietro lo sfondo UIImageView e impostarne il colore in verde o in altri colori duri. In questo modo è possibile confermare visivamente gli immobili coperti dai punti di vista.

+0

NO, NON ho usato XIB per impostare il mio sfondo. Vedere il codice che ho fornito in alto dove ho posto la mia domanda. È in movimento Background e Problema sto affrontando dopo qualche secondo quando lo sfondo inizia lo spostamento. – NSExpression

+0

Attualmente sto spostando il mio background in modalità RITRATTO, per questo motivo ho un codice del genere. Si prega di vedere il link del cortometraggio che ho fornito. (mediafire.com/?s9dh63n3pv3znil E mediafire.com/?lfdxxrclo365ozj). Qui lo sfondo si sta spostando dall'alto verso il basso. Per quello ho dato condizione come questa: background.position = ccp (0, bk_f) Se avete bisogno di ulteriori spiegazioni su questo, per favore fatemelo sapere. Grazie e aspettando la tua risposta – NSExpression

1
//in .h file int bk_f=240; 

-(void)backgroundmoving:(ccTime)dt 
{  

    bk_f=bk_f-5;  
    if(bk_f<=0) 
    { 
     background.position = ccp(240,160); 
     bk_f=240; 
    } 
    else 
    { 
     background.position = ccp(bk_f,160); 
    } 


}