本文整理汇总了C++中Enemy::applyDamage方法的典型用法代码示例。如果您正苦于以下问题:C++ Enemy::applyDamage方法的具体用法?C++ Enemy::applyDamage怎么用?C++ Enemy::applyDamage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Enemy
的用法示例。
在下文中一共展示了Enemy::applyDamage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handlePlayerCollision
void Hero::handlePlayerCollision(Projectile *projectile)
{
Tile* tile = m_Level->getTileForPosition(projectile->getX(), projectile->getY());
//Cycle through all the enemies and check for Collision with the projectile
for(int i = 0; i < m_Level->getEnemies().size(); i++)
{
Enemy* enemy = m_Level->getEnemies().at(i);
if(enemy != NULL && enemy->getIsActive() == true)
{
//Get the Tile the enemy is on
Tile* enemyTile = m_Level->getTileForPlayer(enemy);
//Is the projectile on the same tile as the enemy?
if(tile == enemyTile)
{
Log::debug("Hero projectile hit an enemy");
//Apply damage to the enemy AND set The projectile to inactive
enemy->applyDamage(projectile->getDamage());
projectile->setIsActive(false);
}
}
}
}
示例2: handlePlayerCollision
void Charmander::handlePlayerCollision(Projectile* projectile)
{
Tile* tile = m_Level->getTileForPosition(projectile->getX(), projectile->getY());
//cycle through all the enemesn and ceck for the collision with the projectile
for(int i = 0; i < m_Level->getEnemies().size(); i ++)
{
Enemy* enemy = m_Level->getEnemies().at(i);
if(enemy != NULL && enemy->getIsActive() == true)
{
//get the tile the enemy is on
Tile* enemyTile = m_Level->getTileForPlayer(enemy);
//is the projectile on the same tile as the emnemy?
if(tile == enemyTile)
{
// Log::debug("Hero projectile hit an enemy");
// apply damage tot he enemt and set the projectile
enemy->applyDamage(projectile->getDamage());
projectile->setIsActive(false);
}
}
}
}