AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 [Résolu]Sprites aléatoires

Aller en bas 
4 participants
AuteurMessage
Sushidestroy
Petit bavard
Sushidestroy


Messages : 53

[Résolu]Sprites aléatoires Empty
MessageSujet: [Résolu]Sprites aléatoires   [Résolu]Sprites aléatoires EmptyVen 10 Aoû 2012 - 0:15

Bonjour,

Je cherche a faire en sorte que lorsqu'un objet soit créé il mix plusieurs sprites aléatoirement.

Pour cela, tout les sprites lui correspondant sont nommés, par exemple : 'sp_CorpMonstre1', 'sp_CorpMonstre2' etc...
Un monstre est composé de trois sprites, un pour la tête, un pour le corps et un pour les pieds, tout les trois sont aléatoirement associés, exemple : sp_TeteMonstre2 avec sp_CorpMonstre3 et sp_PiedMonstre9.

Pour cela, dans create je ramdomise trois variables (ttt,ccc,ppp), puis dans l'event Draw :
Code:

tete = 'sp_TeteMonstre' + string(ttt)
corp = 'sp_CorpMonstre' + string(ccc)
pied= 'sp_PiedMonstre' + string(ppp)

draw_sprite(tete,0,x,y)
draw_sprite(corp,0,x,y)
draw_sprite(pied,0,x,y)
Mais tout ça ne fonctionne pas, et pourtant si j'observe mes variables tete, corp et pied en debug, je vois bien un 'sp_CorpMonstreX', idem si je fait un draw_text ...

Si quelqu'un a une idée je suis preneur, merci d'avance.


Dernière édition par Sushidestroy le Ven 10 Aoû 2012 - 11:33, édité 1 fois
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

[Résolu]Sprites aléatoires Empty
MessageSujet: Re: [Résolu]Sprites aléatoires   [Résolu]Sprites aléatoires EmptyVen 10 Aoû 2012 - 0:29

Parce que GM ne gère pas les ressources par chaînes de caractères, mais par constantes. C'est ce qu'il se passe quand tu utilises le nom d'un objet : ce nom est une constante ayant une valeur entière qui indexe l'objet.

Dans ton cas, tu peux contourner ceci avec la fonction execute_string() :

Code:
execute_string(
    "tete = sp_TeteMonstre" + string(ttt) +
    "; corp = sp_CorpMonstre" + string(ccc) +
    "; pied= sp_PiedMonstre" + string(ppp))

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
stermi59
Débutant
stermi59


Messages : 24
Localisation : Nord
Projet Actuel : Apprendre

[Résolu]Sprites aléatoires Empty
MessageSujet: Re: [Résolu]Sprites aléatoires   [Résolu]Sprites aléatoires EmptyVen 10 Aoû 2012 - 3:24

moi j 'aurai fait avec un random comme sa : http://www.mediafire.com/?abc113r5ipqd5ou
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu]Sprites aléatoires Empty
MessageSujet: Re: [Résolu]Sprites aléatoires   [Résolu]Sprites aléatoires EmptyVen 10 Aoû 2012 - 11:24

Tu peut faire
tete = choose(sprTete1, sprTete2, sprTete3) par exemple.

Et si t'as beaucoup de sprites a ta place j'utiliserais des sprite sheets, ça te permettrait de faire ça de manière plus simple, et plus propre Smile

Petit exemple de sprites sheets: http://www.host-a.net/u/onilink_/spriteSheet_Anim.gm6

_________________
[Résolu]Sprites aléatoires Runningpotato1[Résolu]Sprites aléatoires TvF6GED [Résolu]Sprites aléatoires MdetltS
Revenir en haut Aller en bas
Sushidestroy
Petit bavard
Sushidestroy


Messages : 53

[Résolu]Sprites aléatoires Empty
MessageSujet: Re: [Résolu]Sprites aléatoires   [Résolu]Sprites aléatoires EmptyVen 10 Aoû 2012 - 11:33

Merci Oni (pour changer happy1 ) !!!

Ça fonctionne, bizarrement (je pige pas la diff entre ttt = 'sp_CorpMonstre' + string(X) et ttt = choose(sp_CorpsMonstre1,sp_CorpsMonstre2) ...), mais ça fonctionne, et comme je compte pas dépasser les 15 sprites ça me va !

S'habituer a utilisé des sprites sheets doit être une bonne chose, mais pour le moment je ne suis pas encore assez organisé pour ça !
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Résolu]Sprites aléatoires Empty
MessageSujet: Re: [Résolu]Sprites aléatoires   [Résolu]Sprites aléatoires EmptyVen 10 Aoû 2012 - 11:40

En fait 'sp_CorpMonstre' + string(X) te donne une chaine de caractères, hors un sprite est identifié par un id, qui est un nombre entier.
Met toi en debug mode et tape sprTete1 par exemple, tu verras que c'est une constante et qu'elle te donne un nombre entier et non pas une chaine de caractères.

_________________
[Résolu]Sprites aléatoires Runningpotato1[Résolu]Sprites aléatoires TvF6GED [Résolu]Sprites aléatoires MdetltS
Revenir en haut Aller en bas
Contenu sponsorisé





[Résolu]Sprites aléatoires Empty
MessageSujet: Re: [Résolu]Sprites aléatoires   [Résolu]Sprites aléatoires Empty

Revenir en haut Aller en bas
 
[Résolu]Sprites aléatoires
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Draw == > texte par dessus des sprites
» Création sprites: problème de transparence [résolu]
» [Résolu] Avoir qu'une planche unique de sprites en ressource externe
» Position des plateformes aléatoires
» Générateur de Sudokus aleatoires gm6 sortis

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: