2011-07-12 39 views
1

我怎樣才能讓一個隨機CGPointMake,說我創造了一個UIImage的出口,並呼籲它的形象,image.center = CGPointMake(//隨機,隨機//)每次第二(的NSTimer)隨機CGPointMake?

回答

1

可以使用蘭特()stdlib.h中

類似:

#include <stdlib.h> 
#include <time.h> 

srand (time(NULL)); 
int max = 400   // or whatever 
int myRandomNumber1 = rand() % max 
int myRandomNumber2 = rand() % max 

image.center = CGPointMake(myRandomNumber1, myRandomNumber2); 
+0

?????更好地解釋,更具體地說,代碼? – user840797

+0

whats stdlib.h ??? – user840797

+0

stdlib.h是C標準庫 – meggar

2

我會使用arc4random() stdlib.h中。這使用了比rand()更優越的算法。在手冊頁中查找這個函數。然後,您將希望通過兩個軸所需的最大座標來修改生成的值。

int x = arc4random() % (int) self.view.frame.size.width; 
int y = arc4random() % (int) self.view.frame.size.height; 

image.center = CGPointMake(x, y); 
+0

ok thx爲答案 – user840797

+0

我得到錯誤說一些關於不允許框架在QTWO – user840797

+0

這是代碼在你的控制器?如果是這樣,請在自我和框架之間放置視圖(self.view.frame)。 – csano

0

使用arc4random(),你甚至不需要播種它。

image.center = CGPointMake(arc4random() % yourView.frame.size.width, arc4random() % yourView.frame.size.height); 
+0

好的thx爲答案 – user840797

+0

是你的看法? – user840797

+0

如果我做的觀點,那麼它說了一些關於分配浮法CGFloat *我不知道 – user840797