Код "BackgroundMoving" не работает в iPhone4S

Я делаю одну игру, в которой я столкнулся с проблемой, когда тестирую свое приложение на устройстве (iPhone4), фон которого не работает. Например, когда заканчивается фоновое изображение, появляется BLACKISH BACKGROUND COLOR. Размер моего фонового изображения - 460X2880, название изображения "mars_sample.jpg" (для iPhone4). И код для перемещения фона:

-(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);    
}  

Когда я загружаю изображение размером "460X2880" в качестве фонового изображения, тогда он не загружается в фоновом режиме. И если он похож на размер "460X1192", он загружает изображение в фоновом режиме, но показывает цвет BLACKISH BACKGROUND на верхней части экрана.

Ниже одного КОДА для настройки фонового изображения:

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

Пожалуйста, дайте мне несколько советов, как это будет работать. Спасибо ВСЕ

Привет,

Tauseef Khan

Ответ 1

Проверьте background.position = ccp( 0, bk_f ) в backgroundmoving, вы устанавливаете значение Y координаты на фиксированное значение, bk_f. Я предполагаю, что это значение X, которое вы хотите изменить, чтобы прокрутить фоновое изображение, background.position = ccp( bk_f, 0 ).

Параметр dt - backgroundmoving, который я предполагаю, заключается в том, чтобы обеспечить перемещение фонового изображения не используется.

Удостоверьтесь, что фоновый режим установлен для расширения, чтобы он соответствовал супер-представлению с использованием свойств автосохранения.

Изучите источник в свойстве фрейма вашего фона - убедитесь, что он находится в верхней части экрана.

Я бы добавил простой UIView за вашим фоном UIImageView и установил цвет в зеленый или какой-либо другой резкий цвет. Таким образом, вы можете визуально подтвердить недвижимое имущество, охваченное мнениями.

Ответ 2

//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); 
    }


}