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 :

Lancer un script depuis un autre [JS]


Sujet :

Unity

  1. #1
    Membre à l'essai Avatar de TheLLspectre
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 43
    Points : 19
    Points
    19
    Par défaut Lancer un script depuis un autre [JS]
    Hey !!!

    La question est beaucoup plus complexe que le titre réellement, il s'agit en faite de la chose suivante:
    Je souhaiterai faire grimper le personnage dans un véhicule, ce qu'il se passe actuellement je rentre dans le trigger j'appuie sur la touche le personnage prend les positions Initiales d'un empty il se retrouve bien placé, pas de soucis je gère.
    En revanche j'ai donc un script pour le personnage(déplacement, ramasser, etc...), mais je voudrais que lorsque la fonction EnterVehicule(), que j'ai faites, est exécutée le script du personnage devienne innactif (comme inéxistant), et que le script du véhicule prenne la tête pour lui permettre d'avancer par exemple.
    Le script du player doit lancer celui de la voiture et s'arreter, car le script du véhicule va agir comme un nouveau player.

    Comment réaliser cette action en Javascript ??
    Actuellement il arrive à exécuter le script du player ainsi que le script affecté au véhicule, je pourrai mettre les actions du script véhicule dans le player je sais faire mais je ne veux pas pour éviter de le rendre encore plus important, et avoir des scripts plus condensé et propre, pour une lisibilité plus claire aussi !

    Merci d'avance à vous

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 287
    Points
    218 287
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    La solution que je propose vient d'un point de vue de programmeur (et pas spécialement d'un point de vue Unity, mais en théorie, pas de soucis).
    En JavaScript (ainsi qu'en d'autres langages) vous pouvez faire des variables qui contiennent/référencent des fonctions.

    Note : le code que j'écris peux ne pas être syntaxiquement juste, car d'une, je l'écris à la volée et de deux, je ne fais pas souvent de JS.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function foo()
    {
        // ...
    }
     
    var bar = foo;
    bar(); // Exécute la fonction foo, comme si la fonction foo s'appelait bar.

    Voilà la base.
    Vous pouvez donc imaginer que :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var fonctionMove;
    // Si c'est pour manipuler le joueur
    fonctionMove = moveJoueur()
    // Si c'est pour manipuler le vehicule
    fonctionMove = moveVehicule()
    (Arg, je mélange anglais et français, chose à ne pas faire )

    Du coup, vous pouvez faire une classe/un fichier Controller, générique, qui contiendra principalement des variables pointant vers des fonctions. Par défaut, les variables pointent vers les fonctions de mouvement du joueur, mais au moment de la montée dans le véhicule, vous remplacer le contenu des variables par les fonction pour le véhicule. Et hop, le tour est jouée. Pour le reste du code, il n'y a pas de différence, il suffit juste d'utiliser les variables de votre Controller.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre à l'essai Avatar de TheLLspectre
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2014
    Messages : 43
    Points : 19
    Points
    19
    Par défaut
    Ceci est très intéressant !
    Vous recommandez donc de faire un fichier qui ne sera pas exécuté, comme une librairie en faite, mais qui appelera les fonctions dans une variable, ce qui permettra de changer avec des conditions !
    Je trouve ça très bien !
    Je vais tester ça

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/12/2011, 16h51
  2. [Maven2] Lancer un plugin depuis un autre plugin
    Par romaintaz dans le forum Maven
    Réponses: 10
    Dernier message: 23/04/2007, 18h13
  3. Lancer une action depuis une autre action
    Par anaon dans le forum Struts 1
    Réponses: 6
    Dernier message: 04/08/2006, 20h38
  4. Réponses: 5
    Dernier message: 06/07/2006, 11h02
  5. Réponses: 6
    Dernier message: 01/02/2006, 16h59

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