User Tag List

Results 1 to 6 of 6

Thread: Remplacer facilement un objet texte par un autre

  1. #1
    Clicker Fusion 2.5 Developer

    Join Date
    Sep 2007
    Posts
    154
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking Remplacer facilement un objet texte par un autre

    Bonjour!

    J'ai créé un jeu en anglais et on m'a demandé de le traduire en plusieurs langues.

    Dans ce jeu s'ouvrent s’ouvrent des boites de dialogue composées par un objet "texte" "chaine".

    Je me vois mal refaire toute la programmation des textes... Lorsque on parle a ce personnage il ouvre le texte a tel paragraphe etc....Pour chaque langue différente!!!

    Le plus facile pour moi au niveau de la programmation serait de faire un système dans lequel l'objet "texte" est
    multiplié par 4, un objet par langue.
    Le programme détectant alors quel objet "texte" il faut utiliser en fonction de la langue sélectionnée au début du jeu. Le paragraphe choisi serait le même etc..

    Bref... un peu comme l'option remplacer un objet par un autre dans l’éditeur d’événements, sauf que là ce serait en temps réel lorsque l'application est en cours.

    Une idée? Est ce possible?

  2. #2
    Forum Moderator Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    Patrice's Avatar
    Join Date
    Sep 2010
    Posts
    603
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    Superpose tes 4 "chaines" sur ta scène et en début de scène détruit ceux qui ne correspondent pas à la langue sélectionnée via un compteur par exemple.
    Ensuite utilise des qualifiers dédiés
    +

  3. #3
    Clicker Fusion 2.5 Developer

    Join Date
    Sep 2007
    Posts
    154
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Mon problème venait du fait que l'objet texte était détruit puis crée au besoin. Avec ce système cela aurait été une galère de gérer plusieurs langues différentes notamment quand beaucoup de dialogues interviennent dans une scène.

    Maintenant j'utilise un système dans lequel les textes existent depuis le début de la scène et ne sont détruit que si la variable correspondant à la langue n'est pas la bonne.
    Au lieu d’être crée et détruit au besoin, l'objet texte est simplement "visible" ou "invisible".

    Merci pour l'idée Patrice

  4. #4
    Clicker Multimedia Fusion 2 DeveloperAndroid Export ModuleiOS Export ModuleSWF Export ModuleXNA Export Module
    graboide's Avatar
    Join Date
    May 2012
    Location
    france, bordeaux
    Posts
    735
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    moi je charge depuis un fichier texte et une chaine globale.
    debut de dialogue je charge le texte depuis le fichier
    chaine modifiable A du pnj + "_"+ chaine globale A+".txt"

    ce qui donnerai pour un pnj dont le variable modifiable A s appelerai "patrice" et globale A "fr"
    patrice_fr.txt
    apres faut rajouter un systeme avec une variable qui s agremente .
    je fais ca et j ai juste a rajouter des fichier texte qui se termine par "en" pour l anglais "sp" pour l espagnole etc .... autant que tu veut ! fais du chinois si tu veut

  5. #5
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export ModuleInstall Creator Pro
    Cyberclic's Avatar
    Join Date
    Jun 2006
    Location
    Paris (France)
    Posts
    298
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Moi j'utilise un tableau 3D de texte.
    X = Pour les textes (1=chaine1, 2=chaine2, 3=chaine3,...)
    Y = Pour la catégorie (1=dialogues PNJ, 2=texte d'interface, 3=narration,...)
    Z = Pour la langue (1=en, 2=fr, 3=es,...)

    Du coup, pour changer la langue, ça se fait à la volé et en direct, juste en changeant l'index Z.

    Ensuite, mon petit plus c'est que je chiffre chaque chaîne en AES pour éviter qu'un petit malin puisse lire l'intrigue de l'histoire dans le tableau par exemple.

    L'inconvénient et qu'il faut se coder séparément du jeu, un petit éditeur de texte afin d'écrire et modifier dans le tableau. Mais une fois que c'est fait, c'est réutilisable pour n'importe quel projet multiplate-forme.
    Je peux fournir mon éditeur de texte sous tableau 3D avec chiffrage et prise en charge de plusieurs langues, sur demande.

    Pour les variables qui changent dans les textes, comme le nom du joueur, je procède comme cela :
    J'écris dans mon tableau le texte : "Bonjour [joueur] comment vas-tu ?"
    Ensuite, lors de l'affichage de la chaîne, je prend soin de remplacer le mot "[joueur]" par le pseudo du joueur, directement en runtime. L'objet String tokenizer de Jamie s'en charge très bien. J'adore cet objet.

  6. #6
    Clicker Fusion 2.5 DeveloperInstall Creator Pro

    Join Date
    Sep 2006
    Posts
    517
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Lorsque le projet commence à avoir un certain nombre de chaînes à traduire, il est appréciable d'avoir une correspondance entre un mot-clé situant le contexte de la chaîne et la chaîne elle-même. En l'absence de ce type de mot-clé, il devient difficile de savoir si une chaîne est encore employée dans l'application, ou, au moment de la traduction, de retrouver dans quel contexte la chaîne est employée.

    Dans les extensions permettant d'établir facilement ce genre de correspondance, il y a Named Variable Object (ainsi que Associative Array qui lui ressemble), Ini (ainsi que Ini++, etc.) et probablement encore bien d'autres extensions.

    J'aurais espéré que MMF offre directement une fonction permettant d'obtenir l'acronyme d'une langue. Pour l'instant ce que j'ai déjà employé dans un projet est chargé un fichier de langue en se basant sur l'ID primaire de la langue telle que récupérable à l'aide de l'objet OS (pour info l'ID est composé de la manière suivante http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx).

Similar Threads

  1. Ciblage d'objet parent à la création d'un objet sur un autre
    By waw_demmon in forum Multimedia Fusion 2 - Technical Support
    Replies: 5
    Last Post: 10th April 2013, 03:39 AM
  2. astuce: charger un objet d'une autre scène et le créer dans l'éditeur globale
    By graboide in forum Multimedia Fusion 2 - Technical Support
    Replies: 15
    Last Post: 9th December 2012, 02:18 PM
  3. Chercher et remplacer du texte dans un fichier
    By BackStaged in forum Multimedia Fusion 2 - Technical Support
    Replies: 2
    Last Post: 1st August 2010, 04:27 AM
  4. Remplacement objet actif par un autre
    By floflo in forum Multimedia Fusion 2 - Technical Support
    Replies: 1
    Last Post: 3rd January 2009, 10:51 AM
  5. Clipboard autre que texte
    By Tyrael in forum Multimedia Fusion 2 - Technical Support
    Replies: 0
    Last Post: 20th November 2007, 02:44 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •