albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Faire un "afficheur" Lun 4 Aoû 2014 - 16:21 | |
| Salut ! non je ne suis pas mort ^^ Je continue mon minecraft like et je voudrai savoir comment je pourai faire pour afficher ( juste sur une ligne pas besoin de s'enbêter ) tout les objet du jeu ( ce que je sais faire avec une boucle for ) mais je ne sais pas trop comment faire pour que pour chaque objet créer si je clique sur l'un des objet du style du bois qu'une varable se change en bois . Je m'explique : J'ai fait sa pour l'affichage : for({nb=1 x_x=x y_y=y};nb<global.nb_obj+1;{nb+=1 x_x+=32}) {instance_create(x_x,y_y,inv)} Mais du coup ce qui est logique tout les objet créer on le même skin , du coup je voudrai que tout les objet créer ( oui avec le meme objet je ne sais pas si c'est possible ) que chacun ai le skin d'un item du jeu ( pour les skin j'utilise un tableau ) , et que si je clique sur un item comme le bois par exemple , une variable se change en "bois" . Ou ( vue que j'explique mal un dessin est le mieux ) : Je sais comment faire Objets par objet mais c'est long et si je rajoute un objet sa va être ****** a la longue ^^ du coup un truc automatique ne serait pas de refus . Merci d'avance ^^ |
|
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: Faire un "afficheur" Lun 4 Aoû 2014 - 17:29 | |
| Tu peux par exemple ajouter une variable qui définira le type d'objet. A la place de {instance_create(x_x,y_y,inv)} tu peux faire:
{ id_obj=instance_create(x_x,y_y,inv) // on renferme l'id de l'instance que l'on vient de créer id_obj.index_obj=id_plus // la variable index_obj de l'instance que l'on vient de créer définira le type d'objet (herbe, bois, etc..) id_plus+=1 // déclare id_plus à 0 avant le lancement de la boucle. Cette variable est plus grande de 1 à chaque // itération de la boucle et servira de valeur à index_objet }
Puis dans l'objet inv tu crée un tableau qui renferme le nom des différents type d'objets.
nom_obj[0]="herbe" nom_obj[1]="terre" nom_obj[2]="bois" etc...
Enfin, quand tu cliquera sur l'objet tu dira que par exemple global.obj_sectionne=nom_obj[index_obj] donc si l'index = 2 cette variable sera = à "bois"
Dernière édition par chopsuey le Lun 4 Aoû 2014 - 21:39, édité 3 fois |
|
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Faire un "afficheur" Lun 4 Aoû 2014 - 17:40 | |
| Le truc c'est que je voudrai que cela sois full auto , j'ai 3 type de variable qui control pas mal de chose : - Code:
-
// NB OBJ ////////////////////// global.nb_obj=8 // SPR ///////////////////////// global.obj[0,0]=0 // 0 global.obj[1,0]=spr_dirt // Dirt global.obj[2,0]=spr_cobble // Cobble global.obj[3,0]=spr_wood // Wood global.obj[4,0]=spr_arbre_plante // Drop_arbre global.obj[5,0]=spr_piston // Piston global.obj[6,0]=spr_casseur // Casseur global.obj[7,0]=spr_solar_panel // Solar panel global.obj[8,0]=spr_feuille // feuille // NB /////////////////////////// global.obj[0,1]=0 // 0 global.obj[1,1]=10 // Dirt global.obj[2,1]=10 // Cobble global.obj[3,1]=0 // Wood global.obj[4,1]=0 // Drop_arbre global.obj[5,1]=0 // Piston global.obj[6,1]=0 // Casseur global.obj[7,1]=0 // Solar panel global.obj[8,1]=0 // feuille
global.obj[global.nb_obj+1,1]=0 // Ne pas toucher // OBJ ///////////////////////// global.obj[0,2]=0 // 0 global.obj[1,2]=obj_dirt // Dirt global.obj[2,2]=obj_cobble // Cobble global.obj[3,2]=obj_wood // Wood global.obj[4,2]=obj_arbre_plante // Drop_arbre global.obj[5,2]=obj_piston // Piston global.obj[6,2]=obj_casseur // Casseur global.obj[7,2]=obj_solar_panel // Solar panel global.obj[8,2]=obj_feuille // feuille Du coup je pense que c'est possible de faire plus simple ^^ ? J'ai pensé a quelque chose mais je ne sais pas si c'est possible : faire : for({nb=1 x_x=x y_y=y};nb<global.nb_obj+1;{nb+=1 x_x+=32}) {draw_sprite(global.obj[nb,0],0,x_x,y_y)} et de tester si il clique sur le sprite "global.obj[1,0]" il me met la varaible a : variable = global.obj[1,2]=obj_dirt // Dirt Mai je ne sais spas si c'est possible :/ |
|
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Faire un "afficheur" Lun 4 Aoû 2014 - 17:58 | |
| Si tu es sous GM:S y'a plus simple : - Code:
-
enum blocks { dirt = spr_dirt, cobble = spr_cobble, wood = spr_wood, //etc... } Je ne suis pas sûr que ça marche! Pour la dirt il te suffira d'utiliser blocks.dirt pour accéder à son sprite, par ex. |
|
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Faire un "afficheur" Lun 4 Aoû 2014 - 18:28 | |
| |
|
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: Faire un "afficheur" Lun 4 Aoû 2014 - 18:34 | |
| - Le truc c'est que je voudrai que cela sois full auto , j'ai 3 type de variable qui control pas mal de chose a écrit:
Oui ben c'est auto aussi ce que je t'es dis. ça: id_obj=instance_create(x_x,y_y,inv) // on renferme l'id de l'instance que l'on vient de créer id_obj.index_obj=id_plus // la variable index_obj de l'instance que le vient de créer définira le type d'objet (herbe, bois, etc..) id_plus+=1 // déclare id_plus à 0 avant le lancement de la boucle. Cette variable est plus grande de 1 à chaque // itération de la boucle et servira de valeur à index_objet ça te permet d'avoir une variable différente pour chaque instances (index_obj) t'a juste à te servir de cette variable avec les tableau que tu as déjà crée. |
|
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Faire un "afficheur" Lun 4 Aoû 2014 - 21:25 | |
| Autant pour moi je vais voir sa ^^ |
|
Contenu sponsorisé
| Sujet: Re: Faire un "afficheur" | |
| |
|