| Sprite qui change si le niveau est fini. [Résolu] | |
|
|
Auteur | Message |
---|
Kirbendo Débutant
Messages : 13 Projet Actuel : Super Mario : Coins Challenge
| Sujet: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 14:51 | |
| Bonjour. J'ai un problème. Il y a une porte qui mène à un niveau et au dessus il y a une étoile. L'étoile est sombre si le niveau n'est pas fait, et brillante si le niveau est fait. J'ai donc mis dans Draw de l'étoile :
if global.W1_L1 = 0 { draw_sprite(StarEnding,3,208,176) } else { draw_sprite(StarEnding,1,208,176) }
Mais ça ne marche pas, l'étoile reste sombre, comme l'image que j'ai mis en sprite.
PS : W1_L1 est égale à 0 si le niveau n'est pas fait. Il augmente de 1 une fois qu'il est fini.
Dernière édition par Kirbendo le Jeu 4 Déc 2008 - 13:19, édité 1 fois |
|
| |
zebdal ( Invité
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 16:49 | |
| bah tu utilises un sprite d'étoile et tu le rends sombre ou clair? si c'est ca, autant ne pas te casser le *** et fais 2 sprites différents. - Citation :
- if global.W1_L1 = 0
{ draw_sprite(StarEnding,3,208,176) } else { draw_sprite(StarEnding,1,208,176) } ensuite tu peux écrire comme ca: - Citation :
- if global.W1_L1 = 0
draw_sprite(StarEnding,3,208,176) else draw_sprite(StarEnding,1,208,176) il n'y a qu'une seule instruction dans le if et dans le else, donc ca ne sert à rien de mettre les { } |
|
| |
Kirbendo Débutant
Messages : 13 Projet Actuel : Super Mario : Coins Challenge
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 17:18 | |
| Donc je dois écrire dans Draw : - Code:
-
if global.W1_L1 = 0 draw_sprite(Star1,1,208,176) else draw_sprite(Star2,1,208,176) ? C'était juste les accolades qui faisaient bugger ? |
|
| |
shadow_the_killer Utilisateur confirmé: Rang ****
Messages : 1272 Localisation : Québec\Canada Projet Actuel : Chrono Trigger
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 18:02 | |
| non cela réduit ton script
pour économiser un sprite si tu a la version enregistrer de gm
if global.W1_L1 = 0 ///lv non completée draw_sprite(Star1,1,208,176) image_blend=c_gray else ////lv fais draw_sprite(Star1,1,208,176) |
|
| |
Kirbendo Débutant
Messages : 13 Projet Actuel : Super Mario : Coins Challenge
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 18:44 | |
| Merci mais je n'ai pas la version Pro. Mais c'est étrange, j'ai beau faire avec : - Code:
-
if global.W1_L1 = 0 draw_sprite(Star1,1,208,176) else draw_sprite(Star2,1,208,176) Que le niveau soit fait, ou pas, l'étoile a toujours la même couleur. Je me dis que peut-être il ne faut pas mettre ce code dans Draw mais ailleurs ? |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 19:54 | |
| - Citation :
- C'était juste les accolades qui faisaient bugger ?
- Citation :
- non cela réduit ton script
- Kirbendo a écrit:
- Mais c'est étrange, j'ai beau faire avec :
- Code:
-
if global.W1_L1 = 0 draw_sprite(Star1,1,208,176) else draw_sprite(Star2,1,208,176) Que le niveau soit fait, ou pas, l'étoile a toujours la même couleur. apprends à lire, celà réduit juste la taille de ton script de ne pas mettre les accolades. pour que ton truc marche, il faut utiliser le script de shadow_the_killer à la place du tien, et ne le met surtout pas ailleurs que dans draw sinon ca ne mrcera jamais. |
|
| |
Kirbendo Débutant
Messages : 13 Projet Actuel : Super Mario : Coins Challenge
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 20:24 | |
| C'est-à-dire que je n'ai aucunement besoin de faire un effet grisé artificiel sur mon sprite, j'ai dit ça pour simplifier ma pensé. Si vous préférez : l'étoile a une forme quand le niveau n'a pas encore été fait, et elle devient plus lumineuse quand il a été fait. J'ai les deux sprites dans ma base de donnée. |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 20:50 | |
| bah dans ce cas, normalement: - Citation :
- if global.W1_L1 = 0
draw_sprite(Star1,1,208,176) else draw_sprite(Star2,1,208,176) c'est bien censé marcher. je ne comprends pas moi non plus, ca ne doit pas venir de ton draw, il est correct. ton problème vient surement de: - Citation :
- Que le niveau soit fait, ou pas
genre t'as oublié de faire passer global.W1_L1 à 1 lorsque tu finis le world 1 level 1. sinon je ne comprends absolument pas puisque c'est une variable globale. |
|
| |
shadow_the_killer Utilisateur confirmé: Rang ****
Messages : 1272 Localisation : Québec\Canada Projet Actuel : Chrono Trigger
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Lun 1 Déc 2008 - 23:28 | |
| sinn tu a juste pas changer de sprite car normalement sa fonctionne ... |
|
| |
Playboy Utilisateur confirmé: Rang ***
Messages : 699 Localisation : Sur la lune Projet Actuel : Sur le pont du Charles de Playboy
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Mar 2 Déc 2008 - 11:27 | |
| Bon je donne mon avis lol. Pour ce code : - Code:
-
if global.W1_L1 = 0 { draw_sprite(StarEnding,3,208,176) } else { draw_sprite(StarEnding,1,208,176) }
As tu un sprite qui possède 4 sous image ? Car ici tu pointes sur l'image 1 et 3 .... Pourquoi je dit 4 images ? Car fais gaffe que cela commence à 0 l'image. Pour ce code : - Code:
-
if global.W1_L1 = 0 { draw_sprite(Star1,1,208,176) } else { draw_sprite(Star2,1,208,176) } Bien ici tu pointes la sous image 1 encore une fois .... Alors la je me dit puisque ce sprite est censé montrer qu'une seule sous image (allumé ou éteind) pourquoi ce code ne dit pas une erreur de draw du sprite du genre "error non occured subimage" Tu mets quoi dans cette fichue sous image 0 lol. Si cela ne marche bien vérifie que la variable passe bien à 1 avec le debug mode (ou même fixe la directement dans le gm à 1) Enfin voila les questions que je me posais sur pourquoi vous mettez tous à la sous image 1 et pas 0 XD. |
|
| |
zebdal Utilisateur confirmé: Rang *****
Messages : 2874 Localisation : Chez Vanilla Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Mar 2 Déc 2008 - 11:40 | |
| - Citation :
- pourquoi vous mettez tous à la sous image 1 et pas 0
parce que c'est la classe |
|
| |
Kirbendo Débutant
Messages : 13 Projet Actuel : Super Mario : Coins Challenge
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] Jeu 4 Déc 2008 - 13:19 | |
| Merci Playboy, l'erreur venait du 1 et 3 au lieu de 0 et 2. Je suis bête parfois ... Merci à tous ! =) |
|
| |
Contenu sponsorisé
| Sujet: Re: Sprite qui change si le niveau est fini. [Résolu] | |
| |
|
| |
| Sprite qui change si le niveau est fini. [Résolu] | |
|