我得到了2個精靈,球和箭頭。 箭頭不動。 球在它的錨點上旋轉。cocos2d旋轉精靈碰撞檢測
id rotate = [CCRotateBy actionWithDuration:.5 angle: 360];
我想在球到達箭頭時檢測碰撞。 嘗試了CGRectIntersectsRect,但它沒有檢測到碰撞。 有什麼幫助嗎? 謝謝...
我得到了2個精靈,球和箭頭。 箭頭不動。 球在它的錨點上旋轉。cocos2d旋轉精靈碰撞檢測
id rotate = [CCRotateBy actionWithDuration:.5 angle: 360];
我想在球到達箭頭時檢測碰撞。 嘗試了CGRectIntersectsRect,但它沒有檢測到碰撞。 有什麼幫助嗎? 謝謝...
用圓圈圈的碰撞方法..這裏是方法..
-(float)asbs:(CGPoint)_arrowPos ballPos:(CGPoint)_ballPos
{
float x = _arrowPos.x-_ballPos.x;
float y = _arrowPos.y-_ballPos.y;
float xy = x*x+y*y;
return xy;
}
if([self asbs:arrow.position ballPos:ball.position]<=size)
{
//collision
}
注意,大小=球的半徑+箭頭半徑*球半徑+箭頭半徑
的上面的方法是使用(平方)+ b(平方)= c(平方)來檢查兩點之間的距離..
您可能需要在更新方法中將球轉換爲世界空間,然後調用該球而不是球的位置。如果它位於父層中,則位置相對於其父層始終是靜態的。
嗨,感謝您的幫助。箭頭不是一個圓圈。想知道爲什麼尺寸變成尺寸=球半徑+箭頭半徑*球半徑+箭頭半徑 – moon 2011-03-10 03:39:00
然後改變爲檢測半徑或檢測點? cos我們是比較平方點.. – xuanweng 2011-03-10 06:35:41
嗨,我設置了球的位置 - 「ball.position = CGPointMake(85,85);.」旋轉時,球位置改變,但當我在控制檯打印時,「NSLog(@」球位置%f「,ball.position.x);」它無法檢測到當前位置。不斷打印出85份。 – moon 2011-03-15 01:52:08