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

Développement 2D, 3D et Jeux Discussion :

Faire un jeu de plates-formes 2D basique avec Unity


Sujet :

Développement 2D, 3D et Jeux

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 865
    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 865
    Points : 219 072
    Points
    219 072
    Billets dans le blog
    121
    Par défaut Faire un jeu de plates-formes 2D basique avec Unity
    Dans cette vidéo, vous allez apprendre pas à pas, comment faire un jeu de plates-formes 2D avec Unity.
    Pour cela, l'auteur va utiliser les packs disponibles dans l'Asset Store et présenter la configuration de la scène pour obtenir le jeu final. De plus, il utilisera des scripts en C# pour implémenter le comportement du jeu et ainsi avoir le personnage qui se déplace, des plates-formes générées aléatoirement, ainsi que des pièces à ramasser.

    Bonne vidéo.
    Découvrir d'autres vidéos sur Unity.
    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.

  2. #2
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut Super tuto !
    Merci pour ce tuto ! Très sympa.
    Il y a une suite par hasard ?

  3. #3
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut Reset.cs
    J'ai seulement une question : apparemment Application.LoadLevel est obsolète et Visual Studio conseille d'utiliser SceneManager.LoadScene.

    J'ai lu qu'il faut rajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using UnityEngine.SceneManagement;
    Mais après cette partie (on la modifie comment ?) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void OnTriggerEnter2D(Collider2D other)
        {
            if (other.gameObject.CompareTag("Player"))
                Application.LoadLevel(Application.loadedLevel);
        }
    De cette façon ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);

  4. #4
    Membre expérimenté
    Avatar de Greg Latiner
    Homme Profil pro
    Développeur JV
    Inscrit en
    Février 2014
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur JV

    Informations forums :
    Inscription : Février 2014
    Messages : 341
    Points : 1 313
    Points
    1 313
    Par défaut
    Hello,

    Citation Envoyé par lythande Voir le message
    De cette façon ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
    Pourtant cela devrait.
    Quel est le soucis ? En sachant qu'en faisant cela tu recharges ta scène actuelle (vérifier aussi que ta/tes scène(s) soit bien ajouté au BuildSetting).

  5. #5
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Greg Latiner Voir le message
    Hello,

    Pourtant cela devrait.
    Quel est le soucis ? En sachant qu'en faisant cela tu recharges ta scène actuelle (vérifier aussi que ta/tes scène(s) soit bien ajouté au BuildSetting).
    Oui de toute façon pour le moment il n'y a qu'une scene !
    J'ai bien vérifié dans le BuildSetting, mais le bug est surement dans le code : dès que mon personnage tombe il reste bloqué dans le ciel tandis que normalement il est censé retomber sur une petite barre solide (donc avec le décor rechargé).

    Code de la vidéo (obsolète) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    using UnityEngine;
    using System.Collections;
     
    public class Reset : MonoBehaviour {
     
        // Utilisez cette fonction pour l'initialisation
        void Start () {
     
        }
     
        // Update est appelee une fois par frame
        void Update () {
     
        }
     
        void OnTriggerEnter2D (Collider2D other)
        {
            if (other.gameObject.CompareTag("Player"))
                Application.LoadLevel(Application.loadedLevel);
        }
    }
    Code que j'ai essayé de modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    using UnityEngine;
    using System.Collections;
    using UnityEngine.SceneManagement;
     
    public class Reset : MonoBehaviour
    {
     
        // Utilisez cette fonction pour l'initialisation
        void Start()
        {
     
        }
     
        // Update est appelee une fois par frame
        void Update()
        {
     
        }
     
        void OnTriggerEnter2D(Collider2D other)
        {
            if (other.gameObject.CompareTag("Player"))
            {
                SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
            }
        }
    }
    Et le tag "Player" est bien dans le personnage

  6. #6
    Membre expérimenté
    Avatar de Greg Latiner
    Homme Profil pro
    Développeur JV
    Inscrit en
    Février 2014
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur JV

    Informations forums :
    Inscription : Février 2014
    Messages : 341
    Points : 1 313
    Points
    1 313
    Par défaut
    Ben déjà commence par valider ta détection par le trigger, genre en plaçant après ton test 'if (other.gameObject.CompareTag("Player")) {' un 'Debug.log(other.name)'.
    Si rien ne s'affiche, alors c'est déjà la piste à suivre.

  7. #7
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Greg Latiner Voir le message
    Ben déjà commence par valider ta détection par le trigger, genre en plaçant après ton test 'if (other.gameObject.CompareTag("Player")) {' un 'Debug.log(other.name)'.
    Si rien ne s'affiche, alors c'est déjà la piste à suivre.
    Effectivement dans la console il n'y a aucun message.

  8. #8
    Membre expérimenté
    Avatar de Greg Latiner
    Homme Profil pro
    Développeur JV
    Inscrit en
    Février 2014
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur JV

    Informations forums :
    Inscription : Février 2014
    Messages : 341
    Points : 1 313
    Points
    1 313
    Par défaut
    Citation Envoyé par lythande Voir le message
    Effectivement dans la console il n'y a aucun message.
    A toi de voir pourquoi ton Payer n'est pas détecté.
    Est-ce la 'Hero' de la vidéo, avec les mêmes composant ? Ta plateforme sur lequel tu as le script, t'as bien le collider en coché en Trigger ?

  9. #9
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Greg Latiner Voir le message
    A toi de voir pourquoi ton Payer n'est pas détecté.
    Est-ce la 'Hero' de la vidéo, avec les mêmes composant ? Ta plateforme sur lequel tu as le script, t'as bien le collider en coché en Trigger ?
    Yes j'ai exactement fait comme dans la vidéo, et aussi regardée plusieurs fois ! J'ai du louper quelque chose, c'est obligé !

  10. #10
    Membre expérimenté
    Avatar de Greg Latiner
    Homme Profil pro
    Développeur JV
    Inscrit en
    Février 2014
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur JV

    Informations forums :
    Inscription : Février 2014
    Messages : 341
    Points : 1 313
    Points
    1 313
    Par défaut
    Citation Envoyé par lythande Voir le message
    J'ai du louper quelque chose, c'est obligé !
    Ah ben ça c'est sur
    Maintenant, là à distance, pas simple de voir ce qui cloche.
    Le mieux est de reprendre la vidéo point par point, et de refaire le truc en étant bien vigilant (par exemple tous les trucs de l'inspecteur)...

  11. #11
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Greg Latiner Voir le message
    Le mieux est de reprendre la vidéo point par point, et de refaire le truc en étant bien vigilant (par exemple tous les trucs de l'inspecteur)...
    Oui je vais tout revoir. J'espère trouver ce serait dommage ! Bon après c'est vrai que ce n'est que le début ! Ça va être de pire en pire

  12. #12
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par lythande Voir le message
    Oui je vais tout revoir. J'espère trouver ce serait dommage ! Bon après c'est vrai que ce n'est que le début ! Ça va être de pire en pire
    Je viens de trouver -.-" alors là ... erreur hyper mais hyper stupide ! J'avais mis le Scale X de Transform à 50 au lieu de 500 -.-" Je m'en suis rendue compte grâce à la Scene 3D.

    Donc Reset.cs fonctionne correctement de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    using UnityEngine;
    using System.Collections;
    using UnityEngine.SceneManagement;
     
    public class Reset : MonoBehaviour
    {
     
        // Utilisez cette fonction pour l'initialisation
        void Start()
        {
     
        }
     
        // Update est appelee une fois par frame
        void Update()
        {
     
        }
     
        void OnTriggerEnter2D(Collider2D other)
        {
            if (other.gameObject.CompareTag("Player"))
            {
                // Debug.Log("ca marche");
                SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
            }
        }
    }
    Merci pour l'aideeee !

  13. #13
    Membre expérimenté
    Avatar de Greg Latiner
    Homme Profil pro
    Développeur JV
    Inscrit en
    Février 2014
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur JV

    Informations forums :
    Inscription : Février 2014
    Messages : 341
    Points : 1 313
    Points
    1 313
    Par défaut
    Bien, l'essentiel est d'avoir reprit le truc et d'avoir mis le doigt sur la boulette. Ça fait partie aussi de l'apprentissage (boulette qui peut arriver à tout le monde ceci dit)

  14. #14
    Membre régulier
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Greg Latiner Voir le message
    Bien, l'essentiel est d'avoir reprit le truc et d'avoir mis le doigt sur la boulette. Ça fait partie aussi de l'apprentissage (boulette qui peut arriver à tout le monde ceci dit)
    Yes ! Absolument !
    Merci beaucoup pour ton aide !!!!!!!!!

Discussions similaires

  1. Aide Multimedia Fusion 2 : Pour un jeu de plate-forme SANS scrolling.
    Par Mattava dans le forum Multimedia Fusion
    Réponses: 3
    Dernier message: 03/09/2017, 07h16
  2. [AS2] Jeu de plate-formes 2D
    Par kiirozakura dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 18/04/2012, 14h30
  3. Quelle API Java pour un jeu de plate forme 2D ?
    Par dawadam dans le forum API graphiques
    Réponses: 0
    Dernier message: 16/06/2011, 22h25
  4. [Projet en cours] Jeu de plates-formes
    Par j-jorge dans le forum Projets
    Réponses: 0
    Dernier message: 01/03/2010, 10h06
  5. [java] Moteur de jeu de plate-forme
    Par luckyvae dans le forum Projets
    Réponses: 12
    Dernier message: 15/08/2007, 22h06

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