enemy hits player
This commit is contained in:
@@ -28,7 +28,9 @@ Enemy::Enemy(const std::string &fileName,
|
||||
hasTarget = false;
|
||||
hit_sound_id = CrystalPoint::GetSoundSystem().LoadSound(fileMusic.c_str(), false);
|
||||
music = CrystalPoint::GetSoundSystem().GetSound(hit_sound_id);
|
||||
attack = false;
|
||||
canAttack = false;
|
||||
lastAttacked = 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +82,17 @@ void Enemy::collide(const Entity * entity)
|
||||
position.z = difference.z + entity->position.z;
|
||||
}
|
||||
|
||||
bool Enemy::attack()
|
||||
{
|
||||
float timeNow = glutGet(GLUT_ELAPSED_TIME)/1000.0f;
|
||||
if (canAttack && timeNow - lastAttacked > 0.8)
|
||||
{
|
||||
lastAttacked = timeNow;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void Enemy::update(float delta)
|
||||
{
|
||||
music->SetPos(position, Vec3f());
|
||||
@@ -99,7 +112,7 @@ void Enemy::update(float delta)
|
||||
length = sqrt(dx*dx + dz*dz);
|
||||
if (length > 1)
|
||||
{
|
||||
attack = false;
|
||||
canAttack = false;
|
||||
|
||||
dx /= length;
|
||||
dz /= length;
|
||||
@@ -112,7 +125,7 @@ void Enemy::update(float delta)
|
||||
}
|
||||
else
|
||||
{
|
||||
attack = true;
|
||||
canAttack = true;
|
||||
}
|
||||
rotation.y = atan2f(dx, dz) * 180 / M_PI;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user