2014-10-19 37 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位於屏幕底部,請嘗試從sphereY「%」值中除去iAd的高度,然後在行尾添加iAd的高度。

這樣的:

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

如果你的iAd的是在屏幕的上方,帶走的高度,但不重新添加。

這樣的:

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

你是否意識到你在這一行寫了什麼?

sphereY = sphereY + 39 <= 275; 

這條線將基本設置sphereY1如果sphereY + 39 <= 2750否則。這是相同的:

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

所以,是的,它會一直在任01,這可以解釋爲什麼它在屏幕的頂部。

0

您的最小值應該是球體的半徑。而你的最大值應該是(視圖的高度) - (球體的iAd +半徑的高度)。用於在這兩個值之間生成隨機數的公式爲arc4random()*(Max - Min) + Min