AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  

 

 Sprite qui change si le niveau est fini. [Résolu]

Aller en bas 
4 participants
AuteurMessage
Kirbendo
Débutant
Kirbendo


Messages : 13
Projet Actuel : Super Mario : Coins Challenge

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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
Revenir en haut Aller en bas
zebdal (
Invité




Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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 { }
Revenir en haut Aller en bas
Kirbendo
Débutant
Kirbendo


Messages : 13
Projet Actuel : Super Mario : Coins Challenge

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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 ?
Revenir en haut Aller en bas
shadow_the_killer
Utilisateur confirmé: Rang ****
shadow_the_killer


Messages : 1272
Localisation : Québec\Canada
Projet Actuel : Chrono Trigger

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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)
Revenir en haut Aller en bas
Kirbendo
Débutant
Kirbendo


Messages : 13
Projet Actuel : Super Mario : Coins Challenge

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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 ?
Revenir en haut Aller en bas
zebdal
Utilisateur confirmé: Rang *****
zebdal


Messages : 2874
Localisation : Chez Vanilla
Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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.
Revenir en haut Aller en bas
http://zebdal.free.fr
Kirbendo
Débutant
Kirbendo


Messages : 13
Projet Actuel : Super Mario : Coins Challenge

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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.
Revenir en haut Aller en bas
zebdal
Utilisateur confirmé: Rang *****
zebdal


Messages : 2874
Localisation : Chez Vanilla
Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 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.
Revenir en haut Aller en bas
http://zebdal.free.fr
shadow_the_killer
Utilisateur confirmé: Rang ****
shadow_the_killer


Messages : 1272
Localisation : Québec\Canada
Projet Actuel : Chrono Trigger

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyLun 1 Déc 2008 - 23:28

sinn tu a juste pas changer de sprite car normalement sa fonctionne ...
Revenir en haut Aller en bas
Playboy
Utilisateur confirmé: Rang ***
Playboy


Messages : 699
Localisation : Sur la lune
Projet Actuel : Sur le pont du Charles de Playboy

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyMar 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.
Revenir en haut Aller en bas
zebdal
Utilisateur confirmé: Rang *****
zebdal


Messages : 2874
Localisation : Chez Vanilla
Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyMar 2 Déc 2008 - 11:40

Citation :
pourquoi vous mettez tous à la sous image 1 et pas 0

parce que c'est la classe noel
Revenir en haut Aller en bas
http://zebdal.free.fr
Kirbendo
Débutant
Kirbendo


Messages : 13
Projet Actuel : Super Mario : Coins Challenge

Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] EmptyJeu 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 ! =)
Revenir en haut Aller en bas
Contenu sponsorisé





Sprite qui change si le niveau est fini. [Résolu] Empty
MessageSujet: Re: Sprite qui change si le niveau est fini. [Résolu]   Sprite qui change si le niveau est fini. [Résolu] Empty

Revenir en haut Aller en bas
 
Sprite qui change si le niveau est fini. [Résolu]
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» change sprite
» probleme if/change sprite
» change sprite, step
» Change de mask [resolu]
» [Résolu] Image_alpha ne change pas

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: