在数组中增加2命中检测c+的对象的方法

Way to increment objects inside an array for 2 hit detection c+

本文关键字:方法 对象 检测 数组 增加      更新时间:2023-10-16

我正在使用SDL/c++创建一个基本的游戏。我需要一种实现命中检测的方法。当只是尝试一次击中它工作良好。以下是我对两个命中检测的设置:

  int maxHit = 2;
  int hitCount = 0;
  // Detect collisions
  for(auto p : projectiles) {
    for(auto a : aliens) {
    if(p->CollidesWith(a) && hitCount == maxHit)
    {
        p->HandleCollision();
        a->HandleCollision();       
    }  
        if(p->CollidesWith(a) && hitCount != maxHit) {  
        ++hitCount; 
      }
    }
  }

由于某些原因,它只对屏幕上的少数敌人有效,而对其他敌人无效。

编辑后更清晰

是,this标识调用该方法的对象。在c++中,如果在访问成员时显式地使用this关键字,则需要使用->访问操作符而不是.,因为它是指针,而不是引用。

但是,当然,您通常只写++ hits而不写this