| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
Mainguet Membre honoraire

Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
|
|
| Revenir en haut |
|
 |
Beubeu Ptit Nouveau

Inscrit le: 06 Juil 2009 Messages: 43 Sujets: 6
|
Posté le: 24/08/11 07:44 Sujet du message: |
|
|
Qu'entends-tu par rectangle? Une region? _________________
|
|
| Revenir en haut |
|
 |
Mainguet Membre honoraire

Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
|
Posté le: 24/08/11 13:55 Sujet du message: |
|
|
Eh bien un rectangle... warcraft considère deux types apparents assez ambigus à mon goût, les rectangles (rect) et les regions (region). Dans ce cas là, je pense qu'il doit s'agir d'un rectangle contenu dans une région tel que lors d'un événement où une unité entre dans une région telle que précédemment décrite, le rectangle contenu dans la région soit détruit.
Et évidemment, ça embrouille facilement... car je ne sais pas vraiment comment on peut recréer un rectangle qui a été supprimé via la fonction
Est-il toujours contenu dans la région à laquelle il appartient?
Et dans ce cas, faire que "region1=udg_region" et ajouter l'évènement pour la région "udg_region" serait suffisant? Voilà ce que je voudrais savoir. _________________
Le naab? C'est moi!
| Jass: | call KillUnit(Mainguet)
// même le KillUnit me semble faux |
Naab un jour... naab toujours!!! |
|
| Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 24/08/11 14:40 Sujet du message: |
|
|
Que veux tu faire exactement ?
Sache toute fois que les régions rajoutent les rect et cell "par valeur", et non "par référence", j'entends par là que RegionAddRect ajoute le rect, mais une suppression ou modification du rect n'a pas d'effet sur la région une fois celui ci ajouté à celle ci.
Donc si tu n'as plus besoin du rect ultérieurement autant le supprimer après l'avoir ajouté à la région.
Il est aussi tout à fait possible de modifier une region, l'event associé en prendra compte, en fait c'est logique, par ex avec un event d'unité spécifique, ce n'est pas parce que tu morph l'unité que l'event ne se déclenche plus. _________________
Le violet, c'est moche. |
|
| Revenir en haut |
|
 |
Mainguet Membre honoraire

Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
|
|
| Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 26/08/11 15:06 Sujet du message: |
|
|
| Mainguet a écrit: | | Si je supprime le rectangle contenu dans la région x, je ne pourrais plus l'utiliser avec l'évènement de la région x mais devrais redéfinir la région x tel que région y =région x et l'utiliser avec la région y et redéfinir de la même manière à chaque fois qu'il y a un cycle (tout en ajoutant l'évènement, évidemment)? |
Non.
objet -> structure plus ou moins complexe de données (par ex integer, unit, ...)
pointeur -> adresse d'un objet
passer une variable par référence -> on recopie son pointeur, son adresse.
On ne créé pas un nouveau objet.
Exemple :
set objet2 = objet1, objet2 va récupérer le pointeur de objet1, objet2 n'est pas un nouvel objet créé, il correspond à objet1.
Autrement dit les variables objet1 ou objet2 correspondront au même objet.
Pense aux variables unités comme référence.
passer une variable par valeur -> on copie le contenu de la variable, on créé un nouvel objet indépendant de la source.
Exemple :
set entier2 = entier1, entier2 copie la valeur de entier1, les 2 variables restent indépendantes, changer la valeur de entier1 ne modifiera pas la valeur de entier 2 et vis versa.
Le jass ne permet pas de choisir le mode de transfert (par référence/valeur), il est dépendant du type de la variable et/ou de la fonction native les utilisant.
Il existe toutefois des mécanismes de copie en utilisant des fonctions.
Petite paranthèse : l'anglais ne fait pas la différence entre le pointeur d'un objet et l'objet en lui même (handle dans les 2 cas)
Sauf cas particuliers (comme avec les rect et Region...Add/Remove/Clear...Rect), les seuls types de variables qui se passent par valeur sont :
integer = entier
boolean = booléen
real = réél
Le reste étant passé "par référence" sauf cas particulier.
Le cas des string et boolexpr est un peu plus complexe, mais tu peux pour simplifier admettre, (même si c'est faux) que les strings se passent par valeur et les boolexpr et autres dérivés par référence.
Quand aux events ils sont passés par référence avec TriggerRegister..., mais il n'est pas possible de changer le pointeur une fois enregistré, par contre il est tout à fait possible de modifier l'objet ansi enregistré.
| Citation: | | (En fait je veux pouvoir réutiliser un évènement pour un certain rectangle après avoir supprimé ce dernier) |
Tu n'est pas obligé de détruire le rect en lui même dans ce cas, tu l'ajoutes ou le retires à ta région (variable globale), selon que tu veuilles que cette zone soit pris en compte ou non par l'event.
En effet les fonctions Region... prennent les rect "par valeur"
Par contre je n'ai jamais testé comment réagissent les event enter/leave d'une région au moment du retrait/ajout de rects et que des unités se trouvent dans cette zone, à tester. _________________
Le violet, c'est moche. |
|
| Revenir en haut |
|
 |
Troll-Brain Ri1kamoua

Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 27/08/11 16:53 Sujet du message: |
|
|
capiche ? _________________
Le violet, c'est moche. |
|
| Revenir en haut |
|
 |
Mainguet Membre honoraire

Inscrit le: 16 Juil 2010 Messages: 298 Sujets: 17 Spécialité en worldedit: Faire compliqué quand il peut faire facile.
|
Posté le: 27/08/11 17:27 Sujet du message: |
|
|
Oui. _________________
Le naab? C'est moi!
| Jass: | call KillUnit(Mainguet)
// même le KillUnit me semble faux |
Naab un jour... naab toujours!!! |
|
| 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: 18/12/11 22:07 Sujet du message: |
|
|
bonjour, je suis intéressé aujourd'hui par les rectangles du monsieur.
comment j'en fais un ? je fais une variable de type rect et je lui met comme valeur 2 points ? _________________
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: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
|
Posté le: 20/12/11 10:51 Sujet du message: |
|
|
spour fer koi ?
Puis, le recyclage de topic c'est bien mais faut pas en abuser, ça me semble inapproprié ici. _________________
Le violet, c'est moche. |
|
| Revenir en haut |
|
 |
|