| faire un draw_sprite avec image_alpha!=1 (gm7 lite) | |
|
+7glcraft Sekigo Le Magnifique epimannn edi9999 Chlorodatafile Linky439 Giggs 11 participants |
Auteur | Message |
---|
Giggs Débutant
Messages : 14
| Sujet: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 17:15 | |
| Bonjour! Comment peut-on (ou "peut-on" tout court) dessiner un sprite avec un alpha différent de 1 dans l'événement Draw? J'essaye de bidouiller des choses du genre - Code:
-
DRAW image_alpha=0.5; draw_sprite(sprite_index,-1,x,y); mais sans succès... Merci! |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 17:25 | |
| Draw_set_alpha(tonalpha) : change l'alpha de tous tes draws. Draw_sprite_ext (Version Pro) : peut changer l'alpha, l'xscale, la rotation... de ton sprite.
Dernière édition par Linky439 le Mer 15 Avr 2009 - 17:58, édité 2 fois |
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 17:49 | |
| cherche draw_sprite_ext dans l'aide gamemaker |
|
| |
edi9999 Utilisateur confirmé: Rang *****
Messages : 2480 Localisation : France Projet Actuel : theatre flashy
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 17:54 | |
| - Citation :
- The following functions are extended functions of the ones indicated above. These extended versions can only be used in the registered version!
draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha) Draws the sprite scaled with factors xscale and yscale and rotated counterclockwise over rot degrees. color is the blending color (use c_white for no blending) and alpha indicates the transparency factor with which the images is merged with its background. A value of 0 makes the sprite completely transparent. A value of 1 makes it completely solid. This function can create great effect (for example partially transparent explosions).
il n'a pas la version enregistrée à ce que j'ai compris |
|
| |
Linky439 Utilisateur confirmé: Rang *****
Messages : 2643 Localisation : Sur le forum du CBNA...ou pas Projet Actuel : La Galaxie Scellée
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 17:58 | |
| Il y a écrit dans le titre du sujet - Citation :
- gm7 lite
donc : - Linky439 a écrit:
- draw_set_alpha(tonalpha)
|
|
| |
Invité Invité
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 19:14 | |
| |
|
| |
Giggs Débutant
Messages : 14
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 19:49 | |
| J'avais testé draw_set_alpha mais effectivement ça changeait l'alpha de tous les draw alors que j'aimerais changer uniquement l'alpha du sprite en question. draw_sprite_ext ne marche que sur la version pro et j'ai la version lite (ça fait presque un an que je tente d'acheter la version pro mais j'ai toujours une erreur qui apparait quand je fais mon achat. J'ai eu beau envoyer un mail à yoyogames et à softwrap je n'ai jamais eu de réponse de ler part...)
Donc pour résumer avec la version lite, c'est pas possible de changer l'alpha d'un seul sprite (avec l'événement DRAW)...
(shm31 tu n'es pas obligé de donner ce lien dans la mesure où j'ai fait pas mal de recherches avant de poser des questions et que je n'ai pas trouvé de réponse à ce que je cherchais.) |
|
| |
epimannn Bonne participation
Messages : 71
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 20:03 | |
| si tu veux faire de la transparence, il existe une "vieille technique" utilisée sur saturn pour donner des effets de transparence...
Le trick consiste à dessiner un pixel sur deux.
La saturn n'ayant pas une gestion facile ( voir meme aucune, mes souvenirs ne sont plus très bon à se sujet ) du canal alpha, ils utilisaient cette technique pour faire de la transparence...
Je sais pas pourquoi tu veux utiliser le canal alpha... mais est-ce qu'il ne serait pas plus simple dans ton cas de tenter d'utiliser cette technique ?
J'ai pas d'exemple graphique sous le coude et ca ne reste que théorique ^^ |
|
| |
Sekigo Le Magnifique Utilisateur confirmé: Rang *****
Messages : 1720
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 20:06 | |
| Tu remets la valeur alpha a 1 apres avoir change le sprite que tu voulais.
draw_set_alpha(0.5) ...... draw_set_alpha(1) .....
Un truc dans le genre. Il me semble que c'est la solution, de mémoire.
Etant donne que je n'ai plus acces a Windows en ce moment ( une longue histoire... ), mon aide est peut-etre fausse. Essai toujours. |
|
| |
Giggs Débutant
Messages : 14
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 21:42 | |
| J'avais testé le coup du 1pxl sur 2 mais le rendu était vraiment pas terrible pour ce que je voulais faire... J'avais aussi testé le - Code:
-
draw_set_alpha(0.5) ...... draw_set_alpha(1) mais ça ne marche pas... Il y a aussi une autre solution, c'est de créer une instance (avec le même sprite) qui va servir seulement de déco, avec un alpha=0.5, mais cette technique pose des problèmes avec la façon dont j'ai déjà codé le début de mon jeu. Tant pis je vais faire une énième tentative d'achat de la version pro, qui va encore se solder par une erreur, comme d'habitude... Mais je crois que je ne peux pas faire autrement. En tout cas merci d'essayer de m'aider! |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Mer 15 Avr 2009 - 23:03 | |
| c'est sur que : - Code:
-
A mettre dans draw event
draw_set_alpha(0.5) draw_sprite(......) draw_set_alpha(1) ne marche pas ?! c'est pas logique ! |
|
| |
Giggs Débutant
Messages : 14
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Jeu 16 Avr 2009 - 1:28 | |
| Non ça ne marche pas... peut-être que j'utilise mal la commande... J'ai créé un projet-test avec - Code:
-
sprite0 = un carré noir sprite1 = un carré blanc
object0 DRAW > draw_set_alpha(0.5);draw_sprite(sprite0,-1,100,100);
object1 DRAW > draw_set_alpha(0.5);draw_sprite(sprite1,-1,200,200); et le résultat : un carré noir à la position (100;100) avec un alpha=1, et un carré blanc à la position (200;200) avec un alpha=1... J'ai réessayé un projet-test avec - Code:
-
sprite0 = carré noir sprite1 = carré blanc
object0 DRAW > draw_set_alpha(0.5);draw_sprite(sprite0,-1,100,100);
object1 CREATE > image_alpha=0.5; et le résultat : un carré noir avec un alpha=1 et un carré blanc avec un alpha=0.5. J'ai rajouté dans le DRAW de object0 "draw_line(0,0,300,300);draw_text...etc" et là, miracle, la ligne et le texte ont un alpha de 0.5 (le carré noir lui a toujours un alpha de 1). C'est comme si draw_set_alpha ne marchait pas sur les sprites mais que sur les variables, textes, lignes, rectangles, etc... La différence vient peut-être du fait que le draw_sprite demande de donner un subimg??? Mais bon je vois pas pourquoi ça poserait problème... |
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Jeu 16 Avr 2009 - 7:09 | |
| object0 - Code:
-
DRAW > draw_set_alpha(0.5); draw_sprite(sprite0,-1,100,100); draw_set_alpha(1); tu a essayé ? |
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Jeu 16 Avr 2009 - 12:11 | |
| je sais pourquoi ca fonctionne pas
effectivement la fonction "draw_set_alpha" ne marche pas sur "draw_sprite", elle est remplacée par draw_sprite_ext auquel le dernier argument est l'alpha du sprite .
Désolée ! |
|
| |
Giggs Débutant
Messages : 14
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Jeu 16 Avr 2009 - 12:20 | |
| C'est bien ça le problème alors. Il faut donc absolument la version pro... autrement dit pour moi c'est mort!
Merci de votre aide en tout cas! |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Jeu 16 Avr 2009 - 12:33 | |
| ho sa serait possible tu draw le sprite en dehors, tu récupère chacune des couleurs du sprite et de la destination(draw_getpixel(x,y)) et du fait un merge_color(c1,c2,alpha) et tu draw cette couleurs sur les tous les pixel.
Mais bon, tu aura 3 d' fps alors sa marchera pas ^^
ou encore mais la sa sert pas a grand chose.
Si ton fond est un fond uni tu met image_blend=merge_color(c_white,couleur de fond,alpha) (si on peut modifier cette variable dans le version lite biensure)
ou sinon mais c'est pas vraiment de l'apha, il y a une fonction dans le sprite éditeur qui te place des points a l'intérieur de ton sprite, c'est minuscule et on a l'impression d'un véritable alpha. C'est comme ceci que dans les ancien jeux on faisait pour faire des personnage a demi-visible. |
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Jeu 16 Avr 2009 - 12:41 | |
| - arthuro a écrit:
- image_blend=merge_color(c_white,couleur de fond,alpha)
ça marche pas en version lite ... |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Jeu 16 Avr 2009 - 23:40 | |
| Bah sinon, ne rien mettre dans draw puis après :
image_alpha = valeur; |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Ven 17 Avr 2009 - 1:40 | |
| bizare chez moi ca fonctionne très bien, T'est sur que ta pas un pc en carton? |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Ven 17 Avr 2009 - 1:50 | |
| Non c'est normal que :
draw_set_alpha(0.5); draw_sprite(...); draw_set_alpha(1);
ne marche pas.
Il faut juste utiliser draw_sprite_ext() autrement pas moyen d'obtenir de la transparence pour dessiner un sprite (à part le image_alpha). |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Sam 18 Avr 2009 - 2:06 | |
| exemple de mon jeu: - Spoiler:
if choix=1 {draw_set_alpha(0.7); draw_rectangle_color(210,160,590,184,c_white,c_white,c_white,c_white,false); draw_set_alpha(1);} if choix=2 {draw_set_alpha(0.7); draw_rectangle_color(210,387,590,411,c_white,c_white,c_white,c_white,false); draw_set_alpha(1);}
bizare ca fonctionne |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Sam 18 Avr 2009 - 11:25 | |
| Gros malin, j'ai jamais dit que draw_set_alpha(alpha); ne fonctionnait pas, j'ai dit que draw_set_alpha(alpha) avec un draw_sprite(); ou un draw_background(); ne marchait pas et que pour ces deux cas il fallait utiliser draw_sprite_ext(); ou draw_background_ext(); Après bien sûr que tu peux utiliser draw_set_alpha(); avec un draw_rectangle(); puisqu'il s'agit du premier cas. |
|
| |
Sekigo Le Magnifique Utilisateur confirmé: Rang *****
Messages : 1720
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Sam 18 Avr 2009 - 12:04 | |
| Bah, il reste a l'auteur de ce topic de creer un objet par sprite, et a regler l'alpha. Probleme resolu. |
|
| |
lotus Utilisateur confirmé: Rang *
Messages : 178 Localisation : Levallois-Perret Projet Actuel : Intégrer une (très) grande école d'ici septembre 2011 !
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Sam 18 Avr 2009 - 13:02 | |
| Je ne vois pas mieux, c'était ma technique avant ... |
|
| |
Wargamer *Excellent utilisateur*
Messages : 6938 Projet Actuel : Bataille de cake au fruits
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) Sam 18 Avr 2009 - 19:21 | |
| merci je savais pas |
|
| |
Contenu sponsorisé
| Sujet: Re: faire un draw_sprite avec image_alpha!=1 (gm7 lite) | |
| |
|
| |
| faire un draw_sprite avec image_alpha!=1 (gm7 lite) | |
|