2014-10-19 5 views
0

У меня есть шар, который помещается случайным образом на экран.Как я могу установить границы случайно помещенного объекта, чтобы убедиться, что он не позади iAd

-(void)PlaceSphere{ 

sphereX = arc4random() %492; 
sphereX = sphereX + 34; 
sphereY = arc4random() %249; 
sphereY = sphereY + 39; 

sphere.center = CGPointMake(sphereX, sphereY); 

} 

В настоящее время у меня есть приложение iAd. Как я могу настроить его так, чтобы он не отставал от iAd? Я не использую автоматическую компоновку, но я использую авторезистор.

Я попытался с помощью

sphereY = sphereY + 39 <= 275; 

Это не сработало так, как он продолжал появляясь на верхнем краю экрана.

ответ

0

Если ваш iAd находится в нижней части экрана, попробуйте удалить высоту iAd из значения «%» sphereY, а затем добавить высоту iAd в конце строки.

Like This:

sphereY = (arc4random() % (249 - /* iAd height */)) + /* iAd height */ 

Если ОВР находится в верхней части экрана, заберите высоту, но не добавить его снова.

Like This:

sphereY = arc4random() % (249 - /* iAd height */) 
0

Вы поняли, что вы написали в этой строке?

sphereY = sphereY + 39 <= 275; 

Эта линия в основном набор sphereY для 1 если sphereY + 39 <= 275 и 0 иначе. Это то же самое, как:

if (sphereY + 39 <= 275) 
{ 
    sphereY = 1; 
} else 
{ 
    sphereY = 0; 
} 

Так что, да, он всегда будет в любом 0 или 1, что объясняет, почему он находится в верхней части экрана.

0

Ваше Минимальное значение должно быть радиус сферы. И ваш максимум должен быть (высота представления) - (высота радиуса iAd + сферы). Уравнение для генерации случайного числа между этими двумя значениями равно arc4random()*(Max - Min) + Min.

 Смежные вопросы

  • Нет связанных вопросов^_^