Partage
  • Partager sur Facebook
  • Partager sur Twitter

[UNITY] Problème lors de la création de l'ennemi

Problème pour la destruction de l'ennemi quand on lui saute dessus

    15 octobre 2020 à 19:13:43

    Bonjour,

    Je voudrais faire un ennemi qui se détruit quand on lui saute dessus, un peu comme dans Mario.

    Si ça peut vous aider, voici mes codes qui interagissent avec l'ennemi :

    - EnnemiController.cs

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class RenardController : MonoBehaviour
    {
        public Vector2 velocity;
        public float distance = 5;
        public float Speed = 2f;
        public Vector2 PointDeDepart;
        public float DistanceParcourue;
        public bool IsGoingRight = true;
    
        private Animator Anim;
    
        void Start()
        {
            velocity = new Vector2(Speed, 0);
            PointDeDepart = gameObject.transform.position;
            Anim = GetComponent<Animator>();
        }
    
        void Update()
        {
            DistanceParcourue = transform.position.x - PointDeDepart.x;
    
            if (IsGoingRight)
            {
                transform.Translate(velocity.x * Time.deltaTime, 0, 0);
    
                if (DistanceParcourue>distance)
                {
                    Anim.SetBool("aGauche", true);
                    IsGoingRight = false;
                }
            }
            else
            {
                transform.Translate(-velocity.x * Time.deltaTime, 0, 0);
    
                if (DistanceParcourue<0)
                {
                    Anim.SetBool("aGauche", false);
                    IsGoingRight = true;
                }
            }
        }
    }

    - AttackPlayer.cs

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class AttackPlayer : MonoBehaviour
    {
        public Transform Player;
    
        void Start()
        {
            
        }
    
        void Update()
        {
            transform.position = new Vector3(Player.position.x, Player.position.y, 1);
        }
    
        void OnCollisionEnter(Collision Col)
        {
            if (Col.gameObject.CompareTag("Ennemi"))
            {
                Destroy(Col.gameObject);
            }
        }
    }

    Je n'ai pas mis le ColliderAttackPlayer enfant du Player, car une erreur se produit qui est corrigée en ne mettant pas le ColliderAttckPlayer enfant du Player et en mettant dans le code ce qu'il faut pour que le ColliderAttackPlayer suive le Player.

    Je suis ce tutoriel : https://www.youtube.com/watch?v=IXCRsQIW7ks&t=1017s

    Si vous trouvez par hasard une autre erreur, dites-la moi, je suis un débutant en code.

    Merci d'avance de résoudre mon problème.

    • Partager sur Facebook
    • Partager sur Twitter
      27 août 2022 à 13:10:12 - Message modéré pour le motif suivant : Message complètement hors sujet


      [UNITY] Problème lors de la création de l'ennemi

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown