| ou peut on retrouver le sprite utilisé par un objet donné | |
|
|
Auteur | Message |
---|
el_loco Débutant
Messages : 22
| Sujet: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 19:27 | |
| Bonjour! Petite explication : Pour me replonger dans game maker, je souhaite créer un bête casse brique... J'aurais des briques de plusieurs couleurs qui se comporteront de la meme façon (explosion lorsqu'elles sont touchées) Est il nécessaire de créer plusieurs objets différents ou peut on par exemple créer un objet et lui attribuer apres coup un sprite différent? Ensuite, chaque explosion devant avoir la couleur de la brique qui explose, je souhaite savoir quel sprite est utilisé par tel objet pour pouvoir créer une instance de brique explosive lorsque celle ci est touchée... Je ne sais pas si je suis super clair... Mais merci d'avance! |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 19:35 | |
| Soit tu utilise la fonction draw_sprite(nom_sprite, numéro_image, x, y) dans le draw , soit tu utilise les variables sprite_index et image_index. |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 20:15 | |
| j'ai essayé de me renseigner sur ces fonctions mais sans succès... je ne sais pas trop dans quelle direction chercher :
dois je créer un objet par bonus ou plutot un objet unique d'apparence différente (puisque tous les bonus ont les memes evenements...
merci d'avance!
|
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 20:18 | |
| Bon imaginons que tu veux des briques multicolores. Tu assigne a ton objet brique un sprite contenant plusieurs sous images de briques.
Maintenant dans le créate de ta brique, met image_index = choose(0,1,2,3,4) Met tes briques dans une room et lance la. La tu devrais comprendre.
sprite_index fonctionne de la même façon. |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 20:36 | |
| Merci! Ca a l'air de bien marcher... A ceci pres que les images changent tous le temps, faisant défiler toutes les images comme un gif animé...
comment stoppe t on l'animation? |
|
| |
Invité Invité
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 20:38 | |
| |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 20:40 | |
| image_index = choose(0,1,2,3,4)
La ce n'est qu'un exemple, j'ai choisi une valeur aléatoire pour que tu comprenne le fonctionnement. A toi de voir quoi faire.
Si tu comprend vraiment rien je te ferais un petit exemple. |
|
| |
Bast Administrateur
Messages : 20021 Localisation : Alsace
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Mer 9 Fév 2011 - 22:49 | |
| Déplacé de Game Maker à Entraide débutants. |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Jeu 10 Fév 2011 - 17:16 | |
| le principe marche très bien pour mes bonus qui tombent... mais je ne sais pas comment récupérer la variable image_index du bonus pour pouvoir modifier le sprite de la raquette en conséquence...
parce pour faire un switch dans une portion de code, il faut semble t il préciser si ça s'applique à Self (le bonus) ou other (la raquette)
bref, je patauge encore!
Mais il est vraiment super ce programme!!!
Question subsidiaire : est ce que ce n'est pas au final plus simple de créer autant d'objets que de bonus différents? est ce que ça a un interret (économie de temps machine par exemple) de s'embêter à le faire sur un objet unique? |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Jeu 10 Fév 2011 - 17:28 | |
| C'est plus propre de faire un seul objet, mais ça n'auras un impact que sur un gros projet. Si tu n'as pas envie de te prendre la tête, et en attendant d'avoir le niveau tu peut toujours faire plusieurs objets, dans un petit jeu ce ne seras pas du tout un problème. |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Jeu 10 Fév 2011 - 19:01 | |
| c'est aussi ce que je pensais... Ca me dirait bien, pour apprendre, de savoir comment modifier ma raquette (de casse brique) en fonction de l'image index de mon bonus... merci d'avance! |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Jeu 10 Fév 2011 - 19:15 | |
| Y a pas mal de moyens différents. Par exemple tu peut mettre dans l'event de collision entre la raquette et le bonus (pour l'objet raquette) - Code:
-
img = other.image_index switch(img) { case 0 : <action bonus1> break case 1 : <action bonus2> break ... default : <action defaut> } Ou sinon dans le step de ta raquette. - Code:
-
ins = instance_place(x, y, bonus) if(ins) { img = ins.image_index switch(img) { case 0 : <action bonus1> break case 1 : <action bonus2> break ... default : <action defaut> } } Y a encore d'autres solutions, mais j'ai pas trop d'idées. |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Sam 12 Fév 2011 - 20:34 | |
| Hello J'ai toujours quelques soucis :
J'ai essayé ça :
img = other.image_index switch(img) { case 0 : image_index=0; break; case 1 : image_index=2; break; case 2 : image_index=3; break; }
Mais cela ne fait rien... qu'ai-je oublié? (si je rajoute
default : image_index=0;
ça prend bien en compte le défaut... mais pas le reste...) |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Sam 12 Fév 2011 - 23:10 | |
| other ne marche que dans un event de collision. Faut rajouter les break aussi. |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Dim 13 Fév 2011 - 19:18 | |
| c'est justement dans un évnènement collision que cela se trouve...
mais les break y sont bien, sur la ligne du dessous, effectivement... et je ne comprends pas pourquoi cela ne fonctionne pas... |
|
| |
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: ou peut on retrouver le sprite utilisé par un objet donné Dim 13 Fév 2011 - 22:44 | |
| je trouve ca etrange : essaie de prendre l'id de l'objet avec instance_id[other], on pourra surement voir si il retourne -1 ou 0 pour dire qu'il retourne un objet inexistant |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Lun 14 Fév 2011 - 8:20 | |
| alors j'ai fait dans le script un truc du genre : truc=instance_id[other];
et ca me renvoie une erreur (negative array error)
c'est grave docteur? |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Lun 14 Fév 2011 - 8:36 | |
| Non a mon avis c'est normal, vu que le tableau attend pas un id d'instance, mais un numéro (position de l'instance dans le tableau). C'est juste gabin qu'est pas en forme et qui dit des bêtises :p |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Lun 14 Fév 2011 - 10:02 | |
| Il semblerait que ce soit img=other.image_index qui ne renvoie pas ce qu'il faudrait...
y a t il moyen d'afficher cette varibale quelque part histoire de contrôler la chose? |
|
| |
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: ou peut on retrouver le sprite utilisé par un objet donné Lun 14 Fév 2011 - 10:49 | |
| - onilink_ a écrit:
- Non a mon avis c'est normal, vu que le tableau attend pas un id d'instance, mais un numéro (position de l'instance dans le tableau).
C'est juste gabin qu'est pas en forme et qui dit des bêtises :p en effet : other.id -> ca devriat mieux marcher si tu veux l'id de l'objet (other.id).variable -> je pense que ca devrai marcher (en C++ ca fonctionne au moins, mais c'est plus compliqué) |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Lun 14 Fév 2011 - 11:30 | |
| Sauf que other c'est justement l'id de l'autre instance ... |
|
| |
el_loco Débutant
Messages : 22
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné Lun 14 Fév 2011 - 12:57 | |
| ca n'explique pas pourquoi mon truc ne fonctionne pas |
|
| |
Contenu sponsorisé
| Sujet: Re: ou peut on retrouver le sprite utilisé par un objet donné | |
| |
|
| |
| ou peut on retrouver le sprite utilisé par un objet donné | |
|