2011-05-01 56 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]];