2011-05-01 41 views
0

我的Xcode-Project出現問題,希望你能幫助我! 我剛開始編碼,所以我的問題應該很容易解決。如何將值轉換爲CGPoint?

我想用兩個槳和一個球做一個乒乓球遊戲。我已經得到了一個介於0和1之間的值。如果值很高,槳也應該上升。槳的位置可以用「CGPoint」來改變,但是我怎樣才能將我的值轉換成一個點?

請幫幫我。 感謝和來自德國:) :)

+0

你所要求的是什麼辦法轉換成屏幕座標繪製這些槳位置?目前還不清楚你在尋找什麼。 – DreamOfMirrors 2011-05-01 10:27:09

+1

Guten tag,CGPoint pp = CGPointMake(value * 480.0,500); .. ALLES Klar! ODER .. yourImageView.center = CGPointMake(value * 480.0,500); – Fattie 2011-05-01 12:23:12

回答

6

CGPoint是一個二維點。

struct CGPoint { 
    CGFloat x; 
    CGFloat y; 
}; 
typedef struct CGPoint CGPoint; 

您可以使用CGPointMake(x,y)創建一個CGPoint。 當您的值介於0和1之間時,您可能需要通過乘以常數因子來縮放x或y。

+0

感謝您的回答!所以你的意思是我應該用我的價值乘以480(風景)並用它製作一個CGPoint。那麼我該如何乘以這個值呢?有特殊功能嗎? – Niclas 2011-05-01 10:54:42

0

我有槳控制研究一個更好的主意:

您可以使用用戶觸摸開關輸入到CONTROLL槳:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 

    UITouch *touch = [touches anyObject]; 
    CGPoint pointToMove = [touch locationInView:self.view]; 

    yourImage.center = CGPointMake(yourImage.center.x, pointToMove.y); 

} 

當用戶觸摸屏幕時,槳移動到。 y觸摸的位置,但仍保留在它的defaulf x cordinates上!

這樣,控件會更流暢。試試吧!

維耶爾SPASS BEIM programmieren:d

0

這是從我的應用程序確切的代碼做這個工作

for (id obj in points) { 
[self moveToPoint:[((NSValue*) obj) CGPointValue]];