当前位置: 首页>>代码示例>>C++>>正文


C++ Physics::mapCollision方法代码示例

本文整理汇总了C++中Physics::mapCollision方法的典型用法代码示例。如果您正苦于以下问题:C++ Physics::mapCollision方法的具体用法?C++ Physics::mapCollision怎么用?C++ Physics::mapCollision使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Physics的用法示例。


在下文中一共展示了Physics::mapCollision方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: run


//.........这里部分代码省略.........
                    25, 25, 20, "+"); 
      

        // KOLLISIONSHANTERING
        // FÖr vapen
        if(grenade.isThrown())
        {
          for (int i = 0; i < 2; ++i)
          {
            if (physics.objCollision(grenade, *enemies[i])) // 
            {
              explosion.locate(grenade);            
              grenade.impact(true);
              grenade.reset();
              grenade.getsThrown(false, *my_user);
              enemies[i]->decreaseHealth(34);
              enemies[i]->setDir(RIGHT);   
              enemies[i]->move();
              ++explosions;
              break;
            }         
          }
          if (physics.objCollision(grenade, *my_partner))  
          {
            explosion.locate(grenade);            
            grenade.impact(true);
            grenade.reset();
            grenade.getsThrown(false, *my_user);
            my_partner->decreaseHealth(34);
            my_partner->setDir(RIGHT);  
            my_partner->move();
            ++explosions;            
          }
          else if (physics.mapCollision(grenade, farm))
          {
            // Orsaka ny skada
            Static_Sprite* d = new Static_Sprite(0,0);
            d->setGfx(damage_gfx);
            d->loadGfx();            
            d->locate(grenade);
            damage.push_back(d);

            explosion.locate(grenade);            
            grenade.impact(true);
            grenade.reset();
            grenade.getsThrown(false, *my_user);
            ++explosions;            
          }
          else if (physics.outOfBounds(grenade, farm))
          {
            grenade.reset();
            grenade.getsThrown(false, *my_user);            
          }          
        }

        // Kollisionshantering för spelarkrockar
        // Åerställ kollisionsflagga
        my_user->allow();
        
        if (physics.objCollision(*users[0], *users[1])) // 
        {
          // Returnerar true eller false => 0 eller 1 => LEFT eller RIGHT
          DIR = (my_user->getX() > my_partner->getX());
          my_user->reject(DIR); 
        }
        if (physics.mapCollision(*my_user, farm))
开发者ID:perjo927,项目名称:AnimalFarm,代码行数:67,代码来源:Game.cpp


注:本文中的Physics::mapCollision方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。