ココス2dゲーム開発では、CGRectContainsPointメソッドは、CCSpriteでタッチするかどうかを検出するためによく使用されます。私はに便利な方法があるかどうかを知りたい、私は便利な方法でスプライトrectを取得するには?
- (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event { CCLOG(@"ccTouchEnded"); CGPoint location = [touch locationInView:[touch view]]; location = [[CCDirector sharedDirector] convertToGL:location]; CCLOG(@"location.x:%f, y:%f", location.x, location.y); CGRect rect; rect = CGRectMake(self.firstCard.face.position.x-(self.firstCard.face.contentSize.width/2), self.firstCard.face.position.y-(self.firstCard.face.contentSize.height/2), self.firstCard.face.contentSize.width, self.firstCard.face.contentSize.height); if (CGRectContainsPoint(rect, location)) { CCLOG(@"first card touched"); [firstCard open]; } rect = CGRectMake(self.secondCard.face.position.x-(self.secondCard.face.contentSize.width/2), self.secondCard.face.position.y-(self.secondCard.face.contentSize.height/2), self.secondCard.face.contentSize.width, self.secondCard.face.contentSize.height); if (CGRectContainsPoint(rect, location)) { CCLOG(@"second card touched"); [secondCard open]; } }
をスプライトの(CCNode中)RECTプロパティを取得するには、コードfllowを使用
はCCSpriteのRECT簡単なを取得しますか?
。方法。私はそれがあなたのために働くと思う。 Rect全体を返します。 – Marine