| [Surfaces] Transparence ? [RESOLU] | |
|
|
Auteur | Message |
---|
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 16:56 | |
| Salut à tous,
Pour mon moteur de texte, je cherche à faire un ptit chose avec les surfaces.
Peut-on mettre de la transparence sur une surface ?
J'explique: Je dessine un texte sur une surface. Est-ce que les pixels non couverts par le texte seront transparents et donc montreront ce qu'il y a dessous la surface ?
Je galère totalement avec les surfaces :gniah:
Merci
Dernière édition par Damator le Lun 24 Mar 2008 - 18:53, édité 1 fois |
|
| |
edi9999 Utilisateur confirmé: Rang *****
Messages : 2480 Localisation : France Projet Actuel : theatre flashy
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 17:08 | |
| Je ne sais pas trop fait des tests.
Il y a une fonction qui pourrait etre utile pour ce que tu veux faire.
The following routine exists to change the appearance of a sprite.
sprite_set_alpha_from_sprite(ind,spr) Changes the alpha (transparancy) values in the sprite with index ind using the hue values in the sprite spr. This cannot be undone. |
|
| |
Invité Invité
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 17:21 | |
| je crois pas qu'on puisse mettre de transparence à une surface, en tout cas ça n'a jamais marché chez moi, la surface avait plein de motifs bizarres quand je l'affichait :gniah: |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 17:32 | |
| - robotic76 a écrit:
- je crois pas qu'on puisse mettre de transparence à une surface, en tout cas ça n'a jamais marché chez moi, la surface avait plein de motifs bizarres quand je l'affichait :gniah:
Ah tiens toi aussi ? :gniah: Merci edi mais cela ne me sera d'aucune utilité. Si je dois afficher le sprite de ce qu'il y a en dessous sur la surface et puis dessiner le texte sur la surface, autant dessiner le texte directement C'est con, ça aurait été bien utile |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:14 | |
| Une surface peut être transparente, d'ailleurs rien que si tu fais un draw_surface_ext(buffer,0,0,sx,sy,0,c_white,1);, elle le sera. Sinon tu peux t'inspirer du système de génération de terrain de Quimp dans le pack 4 http://www.lecbna.org/pages/download/gm6/GM6_Pack4.zip. Tu peux réutiliser son principe pour du texte. Mais comme dit pourquoi n'affiches tu pas le texte directement? - robotic76 a écrit:
- je crois pas qu'on puisse mettre de transparence à une surface, en tout cas ça n'a jamais marché chez moi, la surface avait plein de motifs bizarres quand je l'affichait :gniah:
C'est parce qu'un autre programme n'avait pas vidé ses surfaces, les surfaces sont une technologie Direct X, ça reste bêtement en mémoire Graphique lorsque tu quitte un jeu, si le jeu ne vide pas proprement la mémoire. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
Invité Invité
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:18 | |
| Heu, je comprends pas quand je fais draw_clear(c_white) j'ai une surface blanche opaque... j'ai du louper quelque chose :non2: tu pourrais expliquer précisément comment on doit faire pour mettre une zone transparente dans la surface puis que ce ne soit pas du blanc en faisant draw_surface ?
edit: ah ok lol, c'est plus un draw_clear(c_white)
reedit : non en fait j'y arrive pas, je vais regarder ton lien
Dernière édition par robotic76 le Lun 24 Mar 2008 - 18:22, édité 1 fois |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:20 | |
| Oui j'ai édité, excuse moi, j'utilise pas assez GM en ce moment. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
Invité Invité
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:24 | |
| Désolé de t'embêter, je comprends pas exactement : il faut mettre quelle couleur dans la surface pour qu'elle corresponde à la transparence ? si j'ai fait un screen_redraw, est ce qu'il y a moyen de remettre de la transparence à certains endroits ? |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:25 | |
| Merci dam, je vais voir ce que je peux faire avec Et comment on peut faire pour virer les surfaces des programmes précédents de la mémoire graphique ? Merci Pourquoi je n'affiche pas mon texte directement ? Parce que mon moteur utilise un système de dessin caractère par caractère, donc dessiner une fois sur une surface les textes fixes et puis dessiner la surface ensuite serait plus économique en fps que de devoir dessiner à chaque step tous les caractères un par un, en plus des calculs d'effets ! |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:49 | |
| - robotic76 a écrit:
- Désolé de t'embêter, je comprends pas exactement :
il faut mettre quelle couleur dans la surface pour qu'elle corresponde à la transparence ? si j'ai fait un screen_redraw, est ce qu'il y a moyen de remettre de la transparence à certains endroits ? A certains endroits on peut pas vraiment dire ça en fait. Tu crées une surface. Ensuite tu fais un draw_clear_alpha(c_white,0), après tu affiches ton texte à l'endroit voulu. Après tu affiches ta surface avec draw_surface_ext. Et je vois pas pourquoi ça ne fonctionnerait pas. - Damator a écrit:
- Merci dam, je vais voir ce que je peux faire avec
Et comment on peut faire pour virer les surfaces des programmes précédents de la mémoire graphique ?
Merci
Pourquoi je n'affiche pas mon texte directement ?
Parce que mon moteur utilise un système de dessin caractère par caractère, donc dessiner une fois sur une surface les textes fixes et puis dessiner la surface ensuite serait plus économique en fps que de devoir dessiner à chaque step tous les caractères un par un, en plus des calculs d'effets ! Pourquoi ne mets tu pas ça dès le départ dans des sprites et tu affiches les sprites des textes, ça me semble plus économe. Pour effacer le contenu de la surface tu fais un draw_clear lorsque tu créers ta surface. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:53 | |
| Merci (j'avais pas vu ton post mai j'ai appliqué le code de l'exemple).
Ca fonctionne parfaitement. Je m'en vais l'adapter sur mon moteur de texte et je vous dirai si c'est effectivement plus économe.
Topic résolu |
|
| |
Invité Invité
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:54 | |
| Ah merci beaucoup, j'avais fait draw_clear_alpha( :honte: ) je connaissais pas cette fonction je vais me débrouiller maintenant, super merci :-D |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] Lun 24 Mar 2008 - 18:54 | |
| en fait je crois que si quelqu'un a du temps, un tuto sur les surfaces ce serait utile pour pas mal de monde (dont moi) |
|
| |
Contenu sponsorisé
| Sujet: Re: [Surfaces] Transparence ? [RESOLU] | |
| |
|
| |
| [Surfaces] Transparence ? [RESOLU] | |
|