Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Sapeur-Goblin Floodeur prématuré
Inscrit le: 14 Oct 2009 Messages: 719 Sujets: 40 Spécialité en worldedit: Les bugs Médailles: 1 (En savoir plus...)
|
Posté le: 29/02/12 16:01 Sujet du message: Questions sur le vJass |
|
|
J'aurais plusieurs questions à propos du vJass.
Tout d'abord j'ai été assez déçu d'apprendre qu'une structure a une limite d'instances simultanées. A quoi ça sert de faire du vJass si c'est pour retomber dans les défauts du Gui? Je sais bien que cette limite ne peut pas être atteinte mais c'est crade...
Ensuite j'aimerais savoir à quoi servent les méthodes? Franchement je trouve ça assez inutile étant donné que ça fait exactement la même chose qu'une fonction. Pourquoi ne pas utiliser une fonction externe à la structure?
Pourquoi faut-il préciser le nombre de déploiements d'une variable dans une structure? C'est assez problématique quand ça dépend d'une autre variable étant donné qu'on ne peut pas exprimer ce déploiement en fonction d'une variable.
Et pour finir, si on crée un groupe dans une structure, avant de la détruire, faut il le détruire et le nullifier ou c'est fait automatiquement? _________________
|
|
Revenir en haut |
|
|
Ectelion Membre reconnu
Inscrit le: 12 Nov 2011 Messages: 1062 Sujets: 107 Spécialité en worldedit: Inactif(Enfin presque) Médailles: 1 (En savoir plus...)
|
Posté le: 29/02/12 16:58 Sujet du message: |
|
|
Du fait qu'il est impossible d'atteindre la limite Vexorian n'a peut-être pas pris la peine de mettre un nombre d'instanciabilité infini.
Après je mis connais pas suffisamment en (V)jass pour te répondre _________________
Inactif(Enfn presque) |
|
Revenir en haut |
|
|
Tirlititi
Inscrit le: 21 Fév 2010 Messages: 1785 Sujets: 22 Spécialité en worldedit: La modestie Médailles: 1 (En savoir plus...)
|
Posté le: 29/02/12 17:35 Sujet du message: |
|
|
On peut créer des structures/variables globales avec plus de 8190 instances, mais ça ralentit l'exécution et c'est rare qu'on en ait besoin.
http://www.wc3c.net/vexorian/jasshelpermanual.html#storintro
Les méthodes, ben, dans l'absolue, c'est pareil qu'un appel de fonction, mais dans l'absolue, tout est une histoire de 0 et de 1 en informatique. C'est quand même plus lisible et plus intéressant d'avoir des méthodes dans certaines situations (je dis ça, mais personnellement j'en utilise très peu ^^').
Pour la taille des array de la structure, c'est parce qu'un array dans une struct est un array 2D donc il faut préciser la taille. Si c'est une taille variable, il te faut recourir à des astuces qu'on peut pas te donner tant qu'on sait pas ce que tu veux faire.
Il faut détruire le groupe, à priori (ça ne se fait pas automatiquement). Tu peux déclarer une méthode "onDestroy" qui se lance automatiquement lorsque la structure est détruite et mettre la destruction du groupe dans le corps de cette méthode. _________________
|
|
Revenir en haut |
|
|
Sapeur-Goblin Floodeur prématuré
Inscrit le: 14 Oct 2009 Messages: 719 Sujets: 40 Spécialité en worldedit: Les bugs Médailles: 1 (En savoir plus...)
|
|
Revenir en haut |
|
|
kungfu-sheep Anomalie floodiforme
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
|
Posté le: 02/03/12 14:32 Sujet du message: |
|
|
intéressant comme topic.
merci de cette question et de cette réponse. _________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises |
|
Revenir en haut |
|
|
Troll-Brain Ri1kamoua
Inscrit le: 23 Aoû 2007 Messages: 7143 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 02/03/12 15:45 Sujet du message: |
|
|
Il faut simplement garder en tête que le vJass n'est pas un langage réel, c'est un préprocesseur du jass, il se "contente" d'ajouter du sucre syntaxique, et qu'au final le code reste du jass.
On peut toutefois surpasser les limitations de l'éditeur officiel, tel que l'impossibilité de déclarer des variables globales de certains types, grâce au JNGP, mais on peut bien entendu aussi le faire en éditant directement le script de la map.
Autrement dit, les limitations du jass restent vraies.
Il est très intéressant de regarder comment un code vJass est généré, en regardant le fichier "outputwar3map.j" dans le sous dossier "logs" du JNGP, une fois la map sauvegardée.
Je recommande aussi fortement d'utiliser le tag [forcemethodevaluate] dans le fichier jasshelper.conf (celui présent dans le dossier du JNGP, pas dans le sous dossier jasshelper), pour éviter des TriggerEvaluate de method involontaires.
Personnellement j'utilise aussi le tag [noimplicitthis], parce que je ne trouve pas que ne pas pouvoir identifier au premier coup d'oeil sur le code si le membre fait partie de la struct ( "this." optionnel) ou pas soit très judicieux.
J'utilise la version de jasshelper maintenue actuellement par cohadar, pour ses diverses améliorations apportées et à venir :
http://www.hiveworkshop.com/forums/warcraft-editing-tools-277/jasshelper-2011-12-19-a-208802/
Et finalement je ne trouve pas un grand intérêt à la method onDestroy/onCreate, autant définir directement les method create/destroy, sans oublier d'utiliser allocate/deallocate si besoin, à l'intérieur de celles ci. _________________
|
|
Revenir en haut |
|
|
|