//Interaction Zombie->Object Collisionnable public void Update(BossZombie Zombie, Vector2 JoueurPosition) { if (Zombie.Flip == SpriteEffects.None) { RecZombie = new Rectangle(Zombie.recZombie.X - 80, Zombie.recZombie.Y - 80, 80, 80); } else { RecZombie = new Rectangle(Zombie.recZombie.X, Zombie.recZombie.Y - 80, 80, 80); } if (RecZombie.isOnBottomOf(RecObj)) { if (Zombie.position.X < JoueurPosition.X) { Zombie.position = new Vector2(Zombie.position.X + 2, Zombie.position.Y + 2); } else { Zombie.position = new Vector2(Zombie.position.X - 2, Zombie.position.Y + 2); } } else if (RecZombie.isOnTopOf(RecObj)) { if (Zombie.position.X < JoueurPosition.X) { Zombie.position = new Vector2(Zombie.position.X + 2, Zombie.position.Y - 2); } else { Zombie.position = new Vector2(Zombie.position.X - 2, Zombie.position.Y - 2); } } else if (RecZombie.isOnRightOf(RecObj)) { if (Zombie.position.Y < JoueurPosition.Y + RecObj.Height) { Zombie.position = new Vector2(Zombie.position.X + 2, Zombie.position.Y + 4); } else { Zombie.position = new Vector2(Zombie.position.X + 2, Zombie.position.Y - 4); } } else if (RecZombie.isOnLeftOf(RecObj)) { if (Zombie.position.Y < JoueurPosition.Y + RecObj.Height) { Zombie.position = new Vector2(Zombie.position.X - 2, Zombie.position.Y + 4); } else { Zombie.position = new Vector2(Zombie.position.X - 2, Zombie.position.Y - 4); } } }
public void Update(BossZombie Zombie) { NoHuman = true; ///Pour que la vie descendre beaucoup moins vite et pour donner un peu plus de facilité VieReele est gérée if (Zombie.hurt) { VieReele -= 0.35f; CompteurNoTouch = 0; Invisible = false; } //Compteur pour faire disparaitre Barre de vie si non touché (ne fait pas le traitement si deja invisible) else { if (!Invisible) { CompteurNoTouch++; if (CompteurNoTouch == 120) { Invisible = true; CompteurNoTouch = 0; } } } //Position Position = new Vector2(Zombie.position.X - RecVisible.Width / 2, Zombie.position.Y - 40 - 8 * (RecVisible.Height)); //Changement de grosseur du rectangle RecVisible.Width = (int)VieReele; //Si grosseur=0 C'EST LA MORT if (RecVisible.Width <= 0) { Tuer = true; } //Position TexteBackspace if (Position.X < 800) { PosBackSpace = new Vector2(350, 450); } else if (Position.X < 1600) { PosBackSpace = new Vector2(1200, 20); } }