2009-10-20 110 views
1

我只是開發一個簡單的iPhone應用程序,其中一個槳葉自動向左和向右移動。什麼是在iPhone上自動向左和向右移動撥片的邏輯?

我的邏輯:

// First to determine the CGPoint of paddle 
CGPoint detectXY = CGPointMake(paddle.center.x ,paddle.center.y); 

// Second to determine the velocity of paddle 
CGPoint paddleVelocity = CGPointMake(1,1); 

// Adding velocity with X,Y cordinate 
paddle.center = CGPointMake(paddle.center.x + paddleVelocity.x, 
          paddle.center.y + paddleVelocity.y); 

但槳不動......

任何想法?

+0

哪裏(在什麼樣的對象的方法)是代碼? – 2009-10-20 13:11:42

+0

另外,什麼是槳? CALayer或UIView? – 2009-10-20 16:45:25

+0

paddle只是一個UIImageView。我想要的槳運動就像在pong遊戲中發生的一樣。 – raaz 2009-10-21 05:02:32

回答

0

如果你創建了的UIImageView在Interface Builder中,請確保您將它連接到你的IBOutlet中,否則將無法回覆您設置.center財產。這讓我多次陷入困境。

+0

天啊! hw即時忘記連接UIImageView ...好thnx指出它現在我能夠將圖像滑動到一邊但它仍然存在問題,當它到達終點時,它不會向右移動...我我想我錯過了一個條件。 – raaz 2009-10-22 09:35:51

0
my updated code 


- (void)viewDidLoad { 

[super viewDidLoad]; 

[NSTimer scheduledTimerWithTimeInterval:0.9 target:self selector:@selector(game) userInfo:nil repeats:YES]; 

} 

-(void)game{ 

CGPoint imgVelocity = CGPointMake(20,1); 
CGPoint detectXY = CGPointMake(imgViewPaddle.frame.origin.x , imgViewPaddle.frame.origin.y); 

int x1= (int)detectXY.x; 

    CGRect rect=imgViewPaddle.frame; 

    if(x1>=0) 
    { 
imgViewPaddle.frame=CGRectMake(imgViewPaddle.frame.origin.x-imgVelocity.x, imgViewPaddle.frame.origin.y, imgViewPaddle.frame.size.width, imgViewPaddle.frame.size.height); 

    } 
    else //<0 
    { 
    imgViewPaddle.frame=CGRectMake(imgViewPaddle.frame.origin.x+imgVelocity.x, imgViewPaddle.frame.origin.y, imgViewPaddle.frame.size.width, imgViewPaddle.frame.size.height); 

    } 

rect=imgViewPaddle.frame; 
} 
+0

這應該被添加到原始問題中,並被設置爲可讀性代碼。 – outis 2009-10-22 10:26:49