| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
|
| Revenir en haut |
|
 |
Ayane Bot administrateur

Inscrit le: 17 Sep 2007 Messages: 2012 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 26/02/08 19:18 Sujet du message: |
|
|
Une méthode ne peut pas avoir le même nom qu'une propriété dans une même classe.
donc tu peux avoir
| Jass: | class maclasse
integer unEntier = 1
method uneMethode takes nothing return integer
return 2
endmethod
endclass
function test takes nothing returns nothing
local maclasse laclasse = maclasse.create()
call BJDebugMsg(I2S(laclasse.unEntier + laclasse.uneMethode()))
laclasse.destroy()
endfunction |
Si je ne me trompe ta variable se déclare ainsi
| Jass: | | local effect array eff |
_________________
|
|
| Revenir en haut |
|
 |
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
|
| Revenir en haut |
|
 |
profet Instanton Gravitationnel Singulier

Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 26/02/08 21:01 Sujet du message: |
|
|
Ca pointe vers une variable ou bien une fonction.
Pour reprendre l'exemple d'Ayane
| Jass: | class maclasse
integer unEntier = 1
method uneMethode takes nothing returns integer
return this.unEntier
endmethod
method uneMethode2 takes nothing returns nothing
call .uneMethode()
endmethod
endclass |
Note: tu peux remplacer le this. par un . unique  _________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
| Revenir en haut |
|
 |
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
Posté le: 26/02/08 21:45 Sujet du message: |
|
|
J'avais lu sur un tuto d'un autre site (je me rappelle lequel mais je sait pas si c'est réellement nécessaire de dire lequel c'est ) que il pouvait arrivé (pas si rarement que sa) que le "." ne marche pas.
Est-ce faux ? mdr
Edit: Après avoir relu ton message (Profet) , j'ai enfin compris se que vous essayé de m'expliqué , mais se n'était pas sa que je demandé , je demandé si lorsque l'ont demande une variable de la structure , cela pointent directement sur la variable ou cela doit passer par l'appel d'une fonction. _________________
|
|
| Revenir en haut |
|
 |
profet Instanton Gravitationnel Singulier

Inscrit le: 21 Aoû 2007 Messages: 1633 Sujets: 53 Spécialité en worldedit: Pain d'épice multitâche (terrain, scripts, textures, modèles...) Médailles: 2 (En savoir plus...)
|
Posté le: 26/02/08 22:08 Sujet du message: |
|
|
| Darkfeyt a écrit: | J'avais lu sur un tuto d'un autre site (je me rappelle lequel mais je sait pas si c'est réellement nécessaire de dire lequel c'est ) que il pouvait arrivé (pas si rarement que sa) que le "." ne marche pas.
Est-ce faux ? mdr | Oui
| Darkfeyt a écrit: | | Edit: Après avoir relu ton message (Profet) , j'ai enfin compris se que vous essayé de m'expliqué , mais se n'était pas sa que je demandé , je demandé si lorsque l'ont demande une variable de la structure , cela pointent directement sur la variable ou cela doit passer par l'appel d'une fonction. | Variable.
Le this.mavariable est en fait remplacé dans le code jass généré par un truc du genre prefix_mavariable[this] avec this une variable entière passée automatiquement au parametre de ta méthode. _________________
Bêta Systems: 70%
Bêta Spells: 13%
Bêta Arts & graphics: 70% |
|
| Revenir en haut |
|
 |
Darkfeyt Floodeur prématuré
Inscrit le: 22 Nov 2007 Messages: 677 Sujets: 27 Spécialité en worldedit: Jamais sortir ses projets ?
|
Posté le: 26/02/08 22:14 Sujet du message: |
|
|
| Citation: | | Le this.mavariable est en fait remplacé dans le code jass généré par un truc du genre prefix_mavariable[this] avec this une variable entière passée automatiquement au parametre de ta méthode. |
| Citation: | Edit: Répondu par moi même en causant exprès une erreur du compilateur pour voir le code réellement généré.
Sa pointent directement sur une variable , lorsque l'ont fait this.<nom de variable> cela fait en réalité "s__<nom de la structure>_<nom de la variable>[this]". |
_________________
|
|
| Revenir en haut |
|
 |
Ayane Bot administrateur

Inscrit le: 17 Sep 2007 Messages: 2012 Sujets: 49
Médailles: 2 (En savoir plus...)
|
Posté le: 26/02/08 22:44 Sujet du message: |
|
|
J'ai cru que par fonction tu voulais désigner méthode, donc oui c'est un accès direct à une variable, ne t'inquiète pas Vexorian a bien pensé le système et il y en a eu plusieurs pour suggérer des optimisations. Comme il le dit dans le manuel, le vJass produit des noms de variables assez long qui ralentit un peu le chargement de la carte, pour y remédier tu peux utiliser wc3map optimizer qui renomme les variables afin de les faire plus court.
Sinon tu peux aussi extraire le war3map.j de la carte pour récupérer tout le code. _________________
|
|
| Revenir en haut |
|
 |
Brissou de Mourièssou Créateur de sorts, depuis 1936.

Inscrit le: 30 Aoû 2007 Messages: 1511 Sujets: 26 Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition. Médailles: 2 (En savoir plus...)
|
Posté le: 27/02/08 15:28 Sujet du message: |
|
|
Pour le point unique ça venait de moi, je sais pas maintenant mais sur une ancienne version du vJass le point unique ne fonctionnait pas pour les interfaces. _________________
|
|
| Revenir en haut |
|
 |
|