2012-03-10 6 views
11

Estoy haciendo un juego en el que me enfrento al problema cuando pruebo mi aplicación en el dispositivo (iPhone4), porque el fondo no funciona. Al igual que cuando la imagen de fondo termina BLACKISH BACKGROUND COLOR aparece. Mi tamaño de la imagen de fondo es 460X2880, nombre de la imagen "mars_sample.jpg" (para iPhone4) y el código de movimiento de fondo es:El código "BackgroundMoving" no funciona en 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);  
} 

Cuando estoy imagen a tamaño "460X2880" Carga de imagen de fondo entonces no cargas en el fondo Y si es del tamaño "460X1192", carga la imagen en el fondo pero muestra el fondo de color negro en la parte superior de la pantalla.

A continuación un código es para una imagen Configuración de fondo:

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]; 
} 

Por favor, dame algunas sugerencias, cómo va a funcionar. Gracias TODO

Saludos,

Tauseef Khan

+0

no es la pantalla del iPhone 480px de alto (sin la barra de estado) - ¿es ese el FONDO BLACKISH en la parte superior de la pantalla? Si no, por favor agregue una captura de pantalla a su pregunta :) – deanWombourne

+0

Estos son los enlaces para Screen Short, ¿¡Para qué exactamente estoy enfrentando el problema! http://www.mediafire.com/?s9dh63n3pv3znil http://www.mediafire.com/?lfdxxrclo365ozj – NSExpression

Respuesta

2

Verificar background.position = ccp(0, bk_f) en backgroundmoving se está ajustando el valor Y de la coordenada a un valor fijo, bk_f. Supongo que es el valor X que desea cambiar para desplazarse por la imagen de fondo, background.position = ccp(bk_f, 0).

El parámetro dt a backgroundmoving que supongo que es para proporcionar una imagen de fondo en movimiento no se utiliza.

Asegúrate de que la vista de fondo esté configurada para expandirse y adaptarse a su súper vista utilizando propiedades de autoescala.

Examine el origen en la propiedad de marco de su vista de fondo - compruebe que esté en la parte superior de la pantalla.

Agregaría un UIView simple detrás de su UIImageView de fondo y establecería su color en verde o en otro color áspero. De esta forma, podría confirmar visualmente el inmueble cubierto por las vistas.

+0

NO, NO se emplean a Esquema XI ter mi fondo. Ver el código I en la parte superior donde hice mi pregunta. Es un fondo en movimiento y un problema al que me estoy enfrentando después de un segundo cuando Background comienza a moverse. – NSExpression

+0

En realidad estoy moviendo mi fondo en modo RETRATO, debido a que código así. Por favor, mira el enlace de pantalla corto que proporcioné. (mediafire.com/?s9dh63n3pv3znil Y mediafire.com/?lfdxxrclo365ozj). Aquí el fondo se mueve de arriba a abajo. Para que esta condición dada como: background.position = ccp (0, bk_f) Si necesita más explicaciones sobre esto, por favor hágamelo saber. Gracias y esperando tu respuesta – 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); 
    } 


} 
Cuestiones relacionadas