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

ActionScript 3 Discussion :

Jeu et système de dialogue


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut Jeu et système de dialogue
    Hello,

    Je suis en train de faire un petit jeu flash, et j'ai besoin de faire dialoguer des personnages.

    Pour cela j'ai pensé utiliser un XML pour lister l'ordre des dialogues, est-ce que cette méthode est intéressante selon vous ? Ou en voyez vous d'autres ?

    Sachant que les dialogues ne seront qu'en fait : "je clic sur un personnage, on lui pose une question et on nous propose un choix de réponse".

    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
    <dialogue>
    
            <personnage nom="Pierre" >
                <texte question="une">Coucou que veux tu faire ?</texte>
                
                    <texte reponse="une" precedent="une">Je veux aller dehors</texte>
                        <texte question="deux" precedent="une">Et ensuite ?</texte>
                            <texte reponse="trois" precedent="une">Ensuite on peut aller manger au resto</texte>
                            <texte reponse="quatre" precedent="une">Ensuite on va au ciné</texte>
                            
                    <texte reponse="deux" precedent="deux">Je veux faire du vélo</texte>
                        <texte question="deux" precedent="deux">Et ensuite ?</texte>
                            <texte reponse="trois" precedent="deux">Ensuite on peut faire du skate</texte>
                            <texte reponse="quatre" precedent="deux">Ensuite on va faire de la moto/texte>
                    
                                    
            </personnage>
            
            
    </dialogue>
    Merci ^^

  2. #2
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut
    Salut,

    je pense que l'idee est bien.

    Tu risquera d'avoir un probleme quand tu voudras creer des liens entre les differentes possibilites. Pour ton exemple, si je veux aller dehors et apres faire du skate. J'avais fait un petite appli dans le genre pour dialoguer, en PHP/MySQL, j'avais rajouter un systeme de connaissances. Il y avait une arborescence un peu comme la tienne. En plus certaines possibilites de reponse permettaient d'acquerir une idConnaissance a ton personnage quand on la choisissait. Certaines reponses devaient avoir un ou plusieurs idConnaissances pour etre choisit. Cela m'a bien permis d'evoluer les possibilites de discours.

    A toi de voir si tu en auras besoin dans ton application ...

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut
    Hello,

    Merci pour ta réponse Toktoktok. Pour les dialogues ils seront vraiment limités, ça sera du simple question/réponse et je ne comptais pas lier les dialogues entre eux, surtout pour un manque de temps pour la réalisation.

    Je laisse le code au cas où
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    public function listequestion(questionNum:int) {
                // préparer le sprite pour la question
                questionSprite = new Sprite();
                gameSprite.addChild(questionSprite); //On l'ajoute sur le sprite principal
     
                //créer un textfield pour la question
                var question:String = tempXML.Personnage[questionNum].question;
                var numReponse0:int = tempXML.Personnage[questionNum].reponses.reponse.(attribute("q") == '0');
                questionField = createText(question,questionFormat,questionSprite,4,480,550);
     
                //créer sprite pour la réponse
                correctReponse = tempXML.Personnage[questionNum].reponses.reponse[0];
                answers = ajouterRep(tempXML.Personnage[questionNum].reponses.reponse.(attribute('q') == '0' || attribute('q') == '1').replique);
     
                // Mettre chaque réponse sur un sprite avec un rond à côté.
                answerSprites = new Sprite();
                for (var i:int=0; i<answers.length; i++) {
                    var answer:String = answers[i];
                    var answerSprite:Sprite = new Sprite();
                    var letter:String = String.fromCharCode(65+i);// A-D
                    var answerField:TextField = createText(answer,answerFormat,answerSprite,50,5,450);
                    var circle:Circle = new Circle();// dans la bibliothèque
                    circle.letter.text = letter;
                    answerSprite.x = 4;
                    answerSprite.y = 500+i*49;
                    answerSprite.addChild(circle);
                    answerSprite.addEventListener(MouseEvent.CLICK, clicReponse);// make it a button
                    answerSprite.buttonMode = true;
                    answerSprites.addChild(answerSprite);
                }
                questionSprite.addChild(answerSprites);
     
            }
     
            public function ajouterRep(reponses:XMLList) {
                var ajouterRep:Array = new Array();
     
                var t:int=reponses.child("*").length();
                //trace(t);
     
     
                for (var j:int =0 ; j < t; j++) {
                    //var r:int = answers.child("*").length();
                    ajouterRep.push(reponses[j]);
                    //trace(reponses);
                    //delete reponses.reponse[j];
                }
                //trace("nombre"+reponses[1]);
                return ajouterRep;
            }

Discussions similaires

  1. Boite de dialogue Système
    Par tgneux dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 01/10/2007, 07h41
  2. [Système] boîte de dialogue sélection dossier
    Par cuba1393 dans le forum Langage
    Réponses: 1
    Dernier message: 29/03/2007, 23h27
  3. Réponses: 8
    Dernier message: 18/11/2006, 22h06
  4. Réponses: 5
    Dernier message: 05/09/2006, 20h08
  5. [AS2] dialogue dans un jeu
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 09/11/2005, 16h02

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