| Bug d'affichage | |
|
|
Auteur | Message |
---|
GDOR1 Très bonne participation
Messages : 130
| Sujet: Bug d'affichage Mar 13 Mar 2012 - 18:59 | |
| J'ai fait un script pour gagner de la performance, mais quand je l'active, certaons objets sont detruits, et les objets ne peuvent plus dessiner en transparence: - Code:
-
with all { if depth < 1000 if point_distance(x,y,view_xview + 1024/2,view_yview + 768/2) > 700 { visible = false } else visible = true } Pourquoi? C'est un bug GM? Pour voir le bug vous même, télécharger le .gmk dans l'autre topic. |
|
| |
SPLN Utilisateur confirmé: Rang ***
Messages : 588 Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)
| Sujet: Re: Bug d'affichage Mar 13 Mar 2012 - 21:58 | |
| Tu aurais pu faire l'effort de remettre le lien ici :/ Et tu as utilisé le code où exactement? Car là je ne vois rien qui détruise l'objet, il ne l'affiche pas c'est pas pareil. En plus ton code me perturbe (remarque c'est la souplesse de la syntaxe GM en général qui me perturbe)... - Code:
-
with (all) { if ( depth < 1000 && point_distance(x,y,view_xview + 1024/2,view_yview + 768/2) > 700 ) {
visible = false
} else {
visible = true
}
} Concrètement quel est le but rechercher par ton code, ça pourrais nous aider à mieux t'aider déjà J'aurais dis ne plus dessiner les objets hors de la room... (Si c'est le cas il y a plus simple) A moins que ce soit pour un HUD / Menu? |
|
| |
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: Bug d'affichage Mar 13 Mar 2012 - 22:17 | |
| *Message qui ne sert à rien* - Code:
-
var x2, y2; x2= view_xview+(1024/2); y2= view_yview+(768/2);
with( all ) if ( depth<1000 and point_distance(x,y,other.x2,other.y2)>700 and visible) visible=0; edit: Je viens de me rappeler que "with( all )" cause parfois des soucis (j'y ai était confronté), j'ai résolus le truc par une boucle for sur un "instance_number(all)". |
|
| |
GDOR1 Très bonne participation
Messages : 130
| Sujet: Re: Bug d'affichage Mer 14 Mar 2012 - 12:56 | |
| Le but du code est de ne pas dessiner les objets qui sont hors de la vue, pour gagner de la performance (vu que GM n'était pas très bon niveau perf' en draw). Quand je dis detruit, c'est que les boutons du menu pause sont detruits (s'ils étaient juste pas dessiné, on pourrat quand même cliquer dessus!)... Caly: J'arrive pas à utiliser for, GM me dit qu'il y a une erreur... |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Bug d'affichage Mer 14 Mar 2012 - 13:40 | |
| Si ce qui n'est pas visible n'a plus non plus besoin de calculer/effectuer quoi que ce soit, essaye les fonctions instance_deactivate(). Et sinon, c'est vrai que le with(all) ne me semble pas une bonne idée pour des évènements qui se déroulent en boucle. Je ne sais pas comment GM gère l'interprétation des scripts, mais j'ai bien l'impression que ça va l'obliger à réappeler toutes les instances... Tu ne peux pas l'écrire direct dans le code des objets/rajouter le script dans le draw event au démarrage de la room? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
GDOR1 Très bonne participation
Messages : 130
| Sujet: Re: Bug d'affichage Mer 14 Mar 2012 - 13:59 | |
| Ouais t'as raison, ça marche si on le met dans le code des objet dans le step, alors je vais faire ça... |
|
| |
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: Bug d'affichage Mer 14 Mar 2012 - 14:14 | |
| - Citation :
- Caly: J'arrive pas à utiliser for, GM me dit qu'il y a une erreur...
- Code:
-
for( {var i; i=0;} i<instance_number(all); i+=1 ) with( instance_find(all,i) ) visible= not ( depth<1000 and point_distance( x,y,view_xview+(1024/2),view_yview+(768/2) )>700 and visible ); Ça devrait fonctionner sans soucis normalement. |
|
| |
anonim Débutant
Messages : 23
| Sujet: Re: Bug d'affichage Mer 14 Mar 2012 - 14:48 | |
| Bonjour, J'ai peur de dire un bêtise, mais pourquoi ne pas utiliser : - Code:
-
instance_deactivate_region(view_xview[0]-50,view_yview[0]-50,view_wview[0]+50,view_hview[0]+50,0,1)
A chaque step du joueur (cette fonction les désactives, mettre la fonction qui la active en plus) - Code:
-
instance_activate_all()
|
|
| |
GDOR1 Très bonne participation
Messages : 130
| Sujet: Re: Bug d'affichage Jeu 15 Mar 2012 - 16:30 | |
| Caly: non, c'est bon, je vais le mettre dans chaque step des objets concernés. anonim: non, pas désactivés, car par exemple: il y a un siège, les ennemis attaquent, tes soldats sont sur les murailles et ils tirent automatiquement, donc tu sais que tu vas gagner, si les instances se desactives, ça fera un espèce d'espace-temps très bizarre! Edit: toi tu as mis que les objets sur la view et 50 de plus de chaque coté, se desactives... |
|
| |
Contenu sponsorisé
| Sujet: Re: Bug d'affichage | |
| |
|
| |
| Bug d'affichage | |
|