| Blend mode - origine décalée | |
|
|
Auteur | Message |
---|
Isaki Très bonne participation
Messages : 157 Localisation : Devant mon pc Projet Actuel : euh...
| Sujet: Blend mode - origine décalée Lun 24 Déc 2012 - 0:22 | |
| Bonsoir, j'ai un problème avec le blend mode et les surfaces. Le système marche très bien, mais lorsque je l'affiche, et lorsque view_xview!=0 et view_yview!=0 l'origine est décalée :/ Je sais pas comment expliqué mieux que ça, donc voilà des screens : Là, view_xview et view_yview sont égale à 0 : Et là où est le bug, c'est que view_xview et view_yview sont différent de 0 et c'est tout décalé : CREATE : - Code:
-
surface = surface_create(view_wview,view_hview); DRAW : - Code:
-
vx = view_xview; vy = view_yview;
surface_set_target(surface); draw_clear_alpha(c_black,0.75);
draw_set_blend_mode(bm_subtract); draw_sprite(spr_light,0,obj_player.x+16,obj_player.y); draw_set_blend_mode(bm_normal);
surface_reset_target(); draw_surface(surface,vx,vy); Le code plus haut est dans un objet indépendant du reste de l'affichage, mais je ne crois pas que cela change qqch. Voilà, j’espère que vous pourrez m'aider |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Blend mode - origine décalée Lun 24 Déc 2012 - 0:44 | |
| - Citation :
- draw_sprite(spr_light,0,obj_player.x+16,obj_player.y);
Ta surface est prévue pour correspondre à l'écran, donc il faut que les coordonnées du joueur soient dans le repère de l'écran ;) - Code:
-
draw_sprite(spr_light,0,obj_player.x - view_xview + 16, obj_player.y - view_yview); Note : inutile de stocker view_xview et view_yview, ça alourdit le code pour rien. EDIT: Houlà, les images n'avaient pas chargé et le problème est autre... Je dois dire que je suis perplexe puisque les coordonnées d'affichage de la surface sont correctes ! |
|
| |
Bast Administrateur
Messages : 20021 Localisation : Alsace
| Sujet: Re: Blend mode - origine décalée Lun 24 Déc 2012 - 2:16 | |
| L'aide de GM contient un paragraphe à ce sujet: - GM Help - Surfaces a écrit:
- Some care must be taken when using these functions. In particular please notice the following:
* You should never change the drawing target while you are actually drawing on the screen, that is, never use it in drawing events. This will cause serious problems with the projection and viewport. Dans ton script, tout ce qui se trouve de surface_set_target() à surface_reset_target() doit être placé dans un événement step, sans quoi des erreurs d'affichage apparaîtront. Il n'est pas possible de dessiner dans une surface dans un événement draw. Il te faudra ensuite également corriger les coordonnées d'affichage de ta lumière comme D-z l'a indiqué, pour ne pas qu'elle soit décalée par rapport au joueur. |
|
| |
Isaki Très bonne participation
Messages : 157 Localisation : Devant mon pc Projet Actuel : euh...
| Sujet: Re: Blend mode - origine décalée Lun 24 Déc 2012 - 9:35 | |
| Merci de vos réponse. Je modifie et je vous redit PS : je stock view_xview et view_yview dans des var pour que le code soit plus lisible (je vous ai donné qu'une partie) EDIT : J'ai mis ce qu'il fallait dans STEP, ça marche (aucun décalages), mais je ne comprend pas, j'ai ce problème maintenant : Le blend mode, c'est du subtract, j'ai pas touché au code! Vous savez pourquoi? |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Blend mode - origine décalée Lun 24 Déc 2012 - 14:07 | |
| Voilà, la méthode me paraissait bizarre aussi...
L'astuce est d'utiliser une surface initialement blanche (ou gris clair), d'y placer des halos noirs autour des objets lumineux, puis d'afficher la surface en soustractif. |
|
| |
Isaki Très bonne participation
Messages : 157 Localisation : Devant mon pc Projet Actuel : euh...
| Sujet: Re: Blend mode - origine décalée Lun 24 Déc 2012 - 14:19 | |
| Oo euh bah en fait non, ça marche Tout à l'heure, quand j'ai modifié après vos aides, j'avais le bug, mais maintenant, sans rien toucher, ça marche, pu de bug Oo Désolé du dérangement, et merci de votre aide, ça m'a bien aidé |
|
| |
Contenu sponsorisé
| Sujet: Re: Blend mode - origine décalée | |
| |
|
| |
| Blend mode - origine décalée | |
|