| [Résolut] Problème avec instance_position | |
|
|
Auteur | Message |
---|
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 1:51 | |
| Bonsoir, j'ai un soucis assez compliqué à expliquer, je vais essayer de rester le plus clair possible. J'ai fait un script qui me permet de créer des fenêtres. Quand je clic sur une fenêtre celle-ci devient "active" (change de couleur et peut être déplacée). Dans l'ensemble ça fonctionne assez bien mis à part un truc, j'utilise "instance_position" pour récupérer l'id de l'instance à "activer", mais quand j'ai plusieurs fenêtres à la même position cette fonction ne me retourne pas l'id de l'instance sur laquelle je clic mais l'id de la première instance créée. Je flanche complètement sur le problème, je ne vois pas de solution. Pour être plus clair voici un screen: Sur ce screen j'ai trois fenêtres de 150*350px créer dans l'ordre de leurs noms, si je clic si la numéro 2 c'est la numéro 1 qui devient active :'( Voici le code que j'utilise: - Code:
-
if ( position_meeting(mouse_x,mouse_y,obj_window) and mouse_check_button_pressed(mb_left) and !position_meeting(mouse_x,mouse_y,window_active)){ // si on clic gauche sur une fenetre et que ce n'est pas l'active window_active = instance_position(mouse_x,mouse_y,obj_window); // on recupére l'id de la fenetre active obj_window.depth =1; //on descend le depth de toutes les fenetres window_active.depth=0; // on remonte le depth de la fenetre active } J’espère que vous aurez plus d'idées que moi car là je ne vois pas du tout comment faire.
Dernière édition par Caly le Lun 31 Oct 2011 - 22:57, édité 1 fois |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 1:59 | |
| Faut que tu mette des paramètres de profondeur a tes fenêtres. Sinon tu vas avoir comme un soucis. |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 2:17 | |
| Ok, donc pas de fonction toute prête dans GM qui permet de faire ça :s Bon bah je vais voir ça demain à tête reposé. J'ai une petite idée là tout de suite mais je suis pas sur du fonctionnement: -je créer une variable "win_depth" et je la met à 0. -à chaque fois que je créer une fenêtre j’attribue sa valeur à la profondeur de la fenêtre et j’incrémente win_depth. Ce qui fait qu'à la création j'ai plus de "bugs" mais après je ne vois plus comment faire. Peut être: -quant une fenêtre devient inactive j'incrémente sa profondeur. -quant une fenêtre devient active sa profondeur revient à 0. Mais je ne suis vraiment pas sur de ce que j'avance, et surtout je ne sais pas si instance_position tient compte des profondeurs... Si on ne me propose rien de mieux j’essaierai ça demain mais pour le moment je vais aller dodoter |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 2:23 | |
| T'en fait pas si tu trouve pas je te ferais un gm6 |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 10:30 | |
| Alors ce que j'ai pensai est implanté sans problème. Le problème c'est que comme je le redoutai instance_position ne prend pas en compte la profondeur -_- Là je n'ai plus d'idée... si tu veux voir le gmk -> http://www.mediafire.com/?i341wkpa50ci8qp (c'est un gmk avec seulement les codes des fenêtres pour que ce soit plus clair). Les codes sont assez épurés clairs et commentés pour comprendre rapidement. (le chiffre en haut à gauche des fenêtres est leurs depth et celui au milieu c'est l'ordre de création) |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 10:34 | |
| J'ai eu le même problème il y a quelques années. Tu dois créer un "WindowManager" pour le handling de tes fenêtres. Je vais voir pour te faire un exemple rapidos |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 10:37 | |
| - Citation :
- Je vais voir pour te faire un exemple rapidos
Je veux bien car là je n'ai plus d'idées. |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 12:02 | |
| Voilà: http://goo.gl/BDKF2C'est pas le plus simple à comprendre, mais bon, à problème complexe, solution complexe... |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 12:06 | |
| Merci, mais je n'ai pas GM8.1 Je n'ai que le 8. |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 12:12 | |
| |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 12:30 | |
| Nha, tu as juste changer l’extension? Car c'est ce que j’avais fait aussi et ça me met la même erreur.
Si tu n'as que la 8.1 je la téléchargerait ce soir en tout cas merci pour ton aide. |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 13:01 | |
| non normalement il devrait etre converti en gm6. je l'ai fait avec LateralGM |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 13:47 | |
| J'ai téléchargé GM8.1. Ça fonctionne mais ça pique les méninges, liste+pile de données rien que ça Je vais étudier tout ça en profondeur, merci beaucoup |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 13:58 | |
| - Caly a écrit:
- liste+pile de données rien que ça
lol, il me semble que c'est la meilleure façon de faire ce que tu demandes, autant niveau optimisation que niveau stabilité |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Lun 31 Oct 2011 - 21:01 | |
| Alors je trifouille ton code pour le réduire au minimum et enlever des boucles. Mais j'ai une question, entre deux codes qui à mes yeux sont identiques mais un fonctionne et pas l'autre j'aimerai savoir pourquoi stp Celui-ci fonctionne: - Code:
-
for({var i; i = 0}; i < count; i += 1) with (ds_list_find_value( windows, i)) depth+=1; Et celui-ci ne fonctionne pas (prend l'ordre de la création et pas la fenêtre cliqué). - Code:
-
Window.depth +=1; Pourtant à mes yeux c'est la même chose mis à part que j'économise une boucle ... |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: [Résolut] Problème avec instance_position Mar 1 Nov 2011 - 15:13 | |
| à mon avis c'est parce qu'il ne traite qu'une seule instance.. lorsque tu fais
Window.depth += 1;
Et au fait, il y a plusieurs boucles pour traiter le clic, après ce sont deux petites boucles qui ne bouffe quasi rien étant donné que c'est de la simple manip de mémoire dans une liste et une stack qui auront max 100 items.. Je ne suis pas certain que cela soit extrêmement gourmand |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [Résolut] Problème avec instance_position Mar 1 Nov 2011 - 19:17 | |
| Bonsoir master47, - Citation :
- à mon avis c'est parce qu'il ne traite qu'une seule instance
En fait j'ai affiché les profondeur des fenêtres et ça change toutes les profondeurs, je ne comprend pas trop, ça doit être car je touche à l'objet et non pas aux instances... Enfin bref enfin de compte j'ai besoin de la boucle pour traiter d'autre chose donc c'est pas un problème. Le système des piles de données je l'ai viré car j'ai un autre système qui était déjà codé donc je garde juste les deux premières boucles (profondeur et exploration de la liste) et l'autre pour géré l’incrémentation de la profondeur. J'ai viré ta variable "m" qui pouvait monter à l'infinie ce qui prendrait pas mal de mémoire, je l'ai donc remplacé par une variable qui récupère la profondeur la plus éloigné. J'ai aussi modifié une condition pour que le code ne s'effectue pas si on clic sur la fenêtre active. Bref pas mal de changements et tout fonctionne parfaitement. Je te remercie énormément sans toi j'y serais encore |
|
| |
master47 Utilisateur confirmé: Rang *****
Messages : 2368 Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio
| Sujet: Re: [Résolut] Problème avec instance_position Mar 1 Nov 2011 - 20:20 | |
| De rien, good job |
|
| |
Contenu sponsorisé
| Sujet: Re: [Résolut] Problème avec instance_position | |
| |
|
| |
| [Résolut] Problème avec instance_position | |
|