Infliger des dégâts à tout
Fait partie de la section Architecture de jeu dans Unity du Journey Unity de Coddy. Leçon 52 sur 64.
Défi
MoyenPermets à l’épée de blesser tout ce qui peut l’être, grâce à une interface.
- Dans
IDamageable.cs, déclarevoid TakeDamage(int amount);. EnemyimplémenteIDamageable:TakeDamagesoustraitamountdehealthet détruit l’ennemi lorsque sa santé est égale ou inférieure à 0.- Dans
Hero.Swing(), remplace le test de balise etDestroyparhit.TryGetComponent(out IDamageable target)ettarget.TakeDamage(swingDamage);.
Appuie sur « Jouer » et frappe un fantassin : il faut deux coups pour le vaincre. Puis clique sur « Vérifier ».
Essayez vous-même
// Une leçon ultérieure complétera ceci : tout ce qui peut subir des dégâts.
public interface IDamageable
{
}
Toutes les leçons de Architecture de jeu dans Unity
1Des composants, pas des hiérarchies
De petits composantsUn script de base pour les ennemisComposants abstraitsDes composants qui fonctionnent ensembleRécapitulatif : tourelle modulaireRécapitulatif : canon double4Données sérialisées
Classes sérialisablesListes dans l’InspecteurÉnumérations dans l’InspecteurRécapitulatif : table de butinRécapitulatif : tirer le butin7Machines à états
Les états sous forme de classesL’état d’alerteUne machine à étatsTransitionsL’intelligence des ennemisLe chevalier attaqueRécapitulatif : états des portes10Projet : Survivant de l’arène
Le hérosTypes d’ennemis2Les interfaces dans Unity
IDamageableInterfaces et TryGetComponentGetComponentsRécapitulatif : touche d’interactionLe plus proche à portée5ScriptableObjects
Ressources de donnéesStatistiques des armesParamètres partagésSauver le ventLes vagues comme donnéesRécapitulatif : base de données des objetsRécapitulatif : acheter dans la boutique3Événements
Les événements C# dans UnityS’abonner dans OnEnableChamps UnityEventLes événements pilotent l’interfaceRécapitulatif : fenêtre de succèsRécapitulatif : minuteur de la fenêtreEntraînez-vous par vous-même : Playground Unity