IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unity Discussion :

Comment procéder pour instancier plusieurs "Joueurs" contrôlés par l'ordinateur dans mon jeu ?


Sujet :

Unity

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2016
    Messages : 52
    Points : 38
    Points
    38
    Par défaut Comment procéder pour instancier plusieurs "Joueurs" contrôlés par l'ordinateur dans mon jeu ?
    Bonjour, je vais essayer d'être le plus clair possible.

    Jusqu'à maintenant j'ai toujours du attaché mes scripts à un GameObject pour pouvoir accéder à mes script. J'aimerais désormais pouvoir instancier plusieurs joueurs contrôlés par l'ordinateur, c'est à dire qu'ils doivent se trouvés en mémoire mais quel est la bonne pratique pour le faire sans avoir de gameObject ?

    Alors je pensais faire comme ceçi: 1. Je crée un script pour construire les models dont j'aurais besoin.

    La question que je me pose, s'est comment accéder à ces objets en question dans le but d’interagir avec si ils ne sont pas attachés à un GameObject ? Car jusqu'à maintenant, j'ai toujours du passé par un GameObject pour accéder à mes scripts. Faut-il que le script des objets que je souhaite atteindre héritent du même parents que les script que j'utilise qui eux sont associés à un GameObject ?

    En gros j'aimerais avoir toute la mécanique de mon jeu dans un script, et enfin pouvoir joué à l'intérieur de ce script pour faire interagir les différents objets que j'aurais créer. Exemple: Joueur1 frappe Joueur2, Joueur2.perdreVie,... Etc... Je ne sais pas trop quoi rechercher sur google pour atteindre mon but donc si quelqu'un est déjà passé par cette étape ce serais vraiment sympas de me donné une piste à suivre.

    Merci pour l'attention que vous portez à mon message !

    Bien à vous !

  2. #2
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 75
    Points : 289
    Points
    289
    Par défaut
    Bonjour,

    Dans Unity, pour qu'un script soit opérationnel, il doit être attaché à un gameObject présent dans la scène. Il faut voir un script comme étant un comportement spécifique que l'on peut attacher à un ou plusieurs objet(s).

    Il est possible de gérer la logique générale d'un jeu dans un seul script ; il devra cependant être attaché à un objet toujours présent dans la scène (par exemple la caméra principale).

    Je ne sais pas exactement comment vous compter organiser vos scripts, mais on observe généralement ce type de structure :

    • On créé un script spécifique à un type de comportement (par exemple un joueur). Ce script comporte des variables (points de vie, etc) et des fonctions (perdre une vie, faire une action, etc). Attention à la portée de ces variables et fonctions.
    • On attache ce script à chaque gameObject concerné.
    • Ces scripts (qui sont en fait souvent les mêmes) interagissent entre eux : si Joueur 1 attaque Joueur 2, alors Joueur 1 appelle la fonction PerdreVie de Joueur 2, par exemple.


    Pour instancier des objets en cours de jeu, il faut créer un Prefab contenant le script correspondant attaché. Un script général peut ensuite se charger des instanciations de ce prefab.

    Bonne suite !

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2016
    Messages : 52
    Points : 38
    Points
    38
    Par défaut
    Un grand merci pour ta réponse, ca éclair ma lanterne !

    Donc moi je voyait les choses comme ça "dans mon jeu il y aura un joueur et d'autres joueurs (qu'on ne voit pas forcément) et ils pourront tous se battrent entre-eux" mais d'après ce que tu me dit, il vaut mieux voir les choses comme ça "dans mon jeu il y aura un joueur qui pourra se battre contre d'autres joueurs" donc je comprend mieux car toute la logique partirais du joueur1 comme tu dis.

    Le joueur 1 sera attaché à un script comme tu dis, mais le joueur2 si s'est un bot, il doit forcément être attaché à un GameObject comme tu dis, c'est à dire que si il y a une simple "image" de mon joueur2 dans mon jeu, il vaut mieux créer toute la logique de mon joueur2 à travers cette image qui servira de GameObject ?

    Si j'ai bien compris je vais pouvoir m'y lancer et merci encore pour ton explication qui m'éclaire beaucoups.

  4. #4
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 75
    Points : 289
    Points
    289
    Par défaut
    Citation Envoyé par sali6000 Voir le message
    Le joueur 1 sera attaché à un script comme tu dis, mais le joueur2 si s'est un bot, il doit forcément être attaché à un GameObject comme tu dis, c'est à dire que si il y a une simple "image" de mon joueur2 dans mon jeu, il vaut mieux créer toute la logique de mon joueur2 à travers cette image qui servira de GameObject ?
    Euh... Je ne suis pas sûr de comprendre exactement, mais dans l'ensemble je crois que c'est ça.

    Il faut créer un script qui gère la logique d'un bot, ce script est utilisé sur chaque gameObject incarnant un bot.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2016
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2016
    Messages : 52
    Points : 38
    Points
    38
    Par défaut
    Nickel, ça répond beaucoups aux questions que je me posais et ça enlève les doutes que j'avais, un grand merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2006, 10h36
  2. [Joomla!] Comment procéder pour miggrer/évoluer Site Internet
    Par papouAlain dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 23/02/2006, 10h31
  3. [XSLT] Comment procéder pour gérer des langues ?
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 31/03/2005, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo