2013-05-17 26 views
0

我有一个精灵(图片),当它与另一个分数碰撞时应该增加10,相关的代码在更新方法中给出,但代之以增加随机。 这是我的代码。如何增加cocos2d android中的分数当两个精灵被删除

public void update(float dt) 
{ 
    LinkedList<CCSprite> projectilesToDelete = new LinkedList<CCSprite>(); 
    for (CCSprite projectile : _projectiles) 
    { 
     CGRect projectileRect = CGRect.make(projectile.getPosition().x - (projectile.getContentSize().width/2.0f), 
              projectile.getPosition().y - (projectile.getContentSize().height/2.0f), 
              projectile.getContentSize().width, 
              projectile.getContentSize().height); 



     LinkedList<CCSprite> targetsToDelete = new LinkedList<CCSprite>(); 
     for (CCSprite target : _targets) 
     { 
      CGRect targetRect = CGRect.make(target.getPosition().x - (target.getContentSize().width), 
              target.getPosition().y - (target.getContentSize().height), 
              target.getContentSize().width, 
              target.getContentSize().height); 

      if (CGRect.intersects(projectileRect, targetRect)) 
       targetsToDelete.add(target); 
      myscore += 10; 
      showLabel(myscore); 


     } 

回答

3

,你需要这样的

myscore += 10; 
updateTable(myscore); 
showLabel(myscore); 
addTarget(); 
1

你的分数增长应该是内部的,如果:

for (CCSprite target : _targets) 
{ 
    CGRect targetRect = CGRect.make(target.getPosition().x - (target.getContentSize().width), 
            target.getPosition().y - (target.getContentSize().height), 
            target.getContentSize().width, 
            target.getContentSize().height); 

    if (CGRect.intersects(projectileRect, targetRect)){ 
     targetsToDelete.add(target); 
     myscore += 10; 
     showLabel(myscore); 
    } 
} 
+0

感谢您的回复,我已经把更新它由10增加myScore的后仅在“if”语句中使用它的代码。 @头发 – samm

相关问题