2013-05-20 69 views
5

我有1枪,当点击任何一点在屏幕上的子弹发射,但根据我的要求,有3枪(精灵)时,任何一个子弹都必须点燃,当谷歌搜索时,我知道这是可以通过使用targetedTouchDelegate或循环所有的精灵并为每个触摸的精灵设置标志,我已经看到了这个在iPhone中的代码,但无法找到的Android,请任何人都可以告诉如何使用在Android中做到这一点?或者cocos2d-android的任何链接或书籍不仅对我有用,也对其他人有用。谢谢,如何让精灵在cocos2d android中对触摸做出反应?

+0

你有这个答案吗? – 2013-07-15 13:08:49

+0

nope :(@ user26534你有什么想法吗? –

回答

0

那么我会在这样的情况下,做的是使用这种

CGRect projectileRect = CGRect 
       .make(sprite.getPosition().x 
         - (sprite.getContentSize().width/2.0f), 
         sprite.getPosition().y 
           - (sprite.getContentSize().height/2.0f), 
         sprite.getContentSize().width, 
         sprite.getContentSize().height); 

得到我的精灵的正确,而且如果点击的点是在那个特定的精灵 的矩形,我会发现你可以覆盖onccTouchBegin获取点击点,然后寻找冲突

@Override 
public boolean ccTouchesBegan(MotionEvent event) { 
    // TODO Auto-generated method stub 

    CGPoint touchLocation=CGPoint.ccp(event.getX(), event.getY()); 
    CGRect targetRect = CGRect.make(
      event.getX(), 
      event.getY(), 
      5, 
      5); 

     if (CGRect.intersects(projectileRect, targetRect)) 
        1st sprite is clicked 

    return super.ccTouchesBegan(event); 

} 

这是我的工作。

+0

感谢您的回复,如何判断第一个精灵是否被点击?@Aashish Bhatnagar –

+0

只是一个例子,您可以针对不同精灵制作不同的rects,因为我只有一个精灵 –