2012-08-05 127 views
0

我有一個小型遊戲的圖像/角色。我可以讓他跳起來,左右走。我但我希望他能夠登陸其他圖像,如超級馬里奧登陸磚塊或塗鴉跳躍(沒有跳躍)。我如何做到這一點,所以一旦我的形象跳躍和摔倒,如果它着陸在另一幅圖像,它會停止。謝謝!圖像在其他圖像上停止

我跳碼:

[UIView animateWithDuration:.5 delay:0.0 
       options:UIViewAnimationOptionCurveEaseOut 
      animations:^{ 
       CGRect f = imageView.frame; 
       f.origin.y -= 40; 
       imView.frame = f; 
      } 
      completion:^(BOOL finished){ 

[UIView animateWithDuration:.7 delay:0.0 
       options:UIViewAnimationOptionCurveEaseOut 
      animations:^{ 
       CGRect f = imageView.frame; 
       f.origin.y += 40; 
       imView.frame = f; 
      } 
      completion:nil]; 
+0

您使用的是cocos2d嗎?分享你當前的代碼將有所幫助。 – gmogames 2012-08-05 03:57:44

+1

查找二維碰撞檢測...這就是你要找的。 – WendiKidd 2012-08-05 04:01:50

回答

0

我不相信這可以用簡單的UIView動畫來完成,這更多的是一種Cocos事情。使用這種類型的動畫,你需要記住一些事情。儘管在屏幕上您可以看到一個圖像從一個點到另一個點的動畫,但在整個過程中,圖像實際上只有兩個幀。它是動畫開始之前的幀,最後是幀。

此外,如果您嘗試在動畫開始後嘗試讀取圖像的框架,它將始終記錄其結束位置。前後圖像只有兩個幀。一旦動畫開始,它的幀被設置爲其結束幀,並且基本上只是在到達那裏。 (動畫)

這就是說,這種形式的動畫沒有碰撞檢測的餘地。我們來看下面的場景。

_ _ ============= _ _ ========== _ Ç _

^^開始-------^^路徑---- ^碰撞-------- ^結束

動畫開始於框架 「A」 和設置結束於「C」點。你想檢測「B」處的碰撞,但不幸的是,你不能知道它是從來沒有與「B」相交的幀,因爲它只知道點「A」和「C」

希望這有助於!