AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Cdiscount : -30€ dès 300€ ...
Voir le deal

 

 Blend mode - origine décalée

Aller en bas 
3 participants
AuteurMessage
Isaki
Très bonne participation
Isaki


Messages : 157
Localisation : Devant mon pc
Projet Actuel : euh...

Blend mode - origine décalée Empty
MessageSujet: Blend mode - origine décalée   Blend mode - origine décalée EmptyLun 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 :
Blend mode - origine décalée 0110
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é :
Blend mode - origine décalée 0210

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 Wink
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Blend mode - origine décalée Empty
MessageSujet: Re: Blend mode - origine décalée   Blend mode - origine décalée EmptyLun 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 !

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Bast
Administrateur
Bast


Messages : 20021
Localisation : Alsace

Blend mode - origine décalée Empty
MessageSujet: Re: Blend mode - origine décalée   Blend mode - origine décalée EmptyLun 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 Event - Stepstep, sans quoi des erreurs d'affichage apparaîtront. Il n'est pas possible de dessiner dans une surface dans un événement Event - Drawdraw.

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.

_________________
Blend mode - origine décalée Sigico10
Revenir en haut Aller en bas
http://www.lecbna.org/
Isaki
Très bonne participation
Isaki


Messages : 157
Localisation : Devant mon pc
Projet Actuel : euh...

Blend mode - origine décalée Empty
MessageSujet: Re: Blend mode - origine décalée   Blend mode - origine décalée EmptyLun 24 Déc 2012 - 9:35

Merci de vos réponse. Je modifie et je vous redit Wink

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 :
Blend mode - origine décalée 0110
Le blend mode, c'est du subtract, j'ai pas touché au code!

Vous savez pourquoi?
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

Blend mode - origine décalée Empty
MessageSujet: Re: Blend mode - origine décalée   Blend mode - origine décalée EmptyLun 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.

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Isaki
Très bonne participation
Isaki


Messages : 157
Localisation : Devant mon pc
Projet Actuel : euh...

Blend mode - origine décalée Empty
MessageSujet: Re: Blend mode - origine décalée   Blend mode - origine décalée EmptyLun 24 Déc 2012 - 14:19

Oo euh bah en fait non, ça marche gha
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é Wink
Revenir en haut Aller en bas
Contenu sponsorisé





Blend mode - origine décalée Empty
MessageSujet: Re: Blend mode - origine décalée   Blend mode - origine décalée Empty

Revenir en haut Aller en bas
 
Blend mode - origine décalée
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Masque et blend mode
» Problème de blend mode
» [Résolu] pb avec blend mode
» [Tutoriel] Le Blend mode en long et en large
» Recherche Prof pour Blend Mode

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: