|
| Compteur pour vos objets | |
| | Auteur | Message |
---|
Jerelink Bonne participation
Messages : 71 Projet Actuel : Zsog
| Sujet: Compteur pour vos objets Mar 6 Oct 2009 - 20:16 | |
| Bonjour a tous =) Je poste mon 1er script ici, qui n' est pas en partie de moi mais que j'ai retranscrit d'rpgmaker en gml =). Ce script a pour but de crée un compteur pour vos munition votre argent dans le jeu etc. Certain vont me dire "draw variable sa marche aussi " Bien...C' est pas faux, a la difference pret qu'ici vous choisissé la forme de vos chiffre la couleur etc puisque ce sont des sprites =) . Tout dabord, créé un script que vous aller appellé compteur et entré y ce code : - Code:
-
if global._compteur>=999 global.compteur=999
unite_compteur =global.compteur unite_compteur = unite_compteur mod 10 dizaine_compteur =global.compteur dizaine_compteur -=unite_compteur dizaine_compteur /= 10 dizaine_compteur = dizaine_compteur mod 10 centaine_compteur =global.compteur centaine_compteur -=unite_compteur centaine_compteur /= 10 centaine_compteur -=dizaine_compteur centaine_compteur /= 10
switch(unite_rubis) { case 0: draw_sprite(Spr_compteur0,-1,view_xview[0]+330,view_yview[0]+215); break; case 1: draw_sprite(Spr_compteur1,-1,view_xview[0]+330,view_yview[0]+215); break; case 2: draw_sprite(Spr_compteur2,-1,view_xview[0]+330,view_yview[0]+215); break; case 3: draw_sprite(Spr_compteur3,-1,view_xview[0]+330,view_yview[0]+215); break; case 4: draw_sprite(Spr_compteur4,-1,view_xview[0]+330,view_yview[0]+215); break; case 5: draw_sprite(Spr_compteur5,-1,view_xview[0]+330,view_yview[0]+215); break; case 6: draw_sprite(Spr_compteur6,-1,view_xview[0]+330,view_yview[0]+215); break; case 7: draw_sprite(Spr_compteur7,-1,view_xview[0]+330,view_yview[0]+215); break; case 8: draw_sprite(Spr_compteur8,-1,view_xview[0]+330,view_yview[0]+215); break; case 9: draw_sprite(Spr_compteur9,-1,view_xview[0]+330,view_yview[0]+215); break; default:draw_sprite(Spr_compteur0,-1,view_xview[0]+330,view_yview[0]+215); }
switch(dizaine_rubis) { case 0: draw_sprite(Spr_compteur0,-1,view_xview[0]+323,view_yview[0]+215); break; case 1: draw_sprite(Spr_compteur1,-1,view_xview[0]+323,view_yview[0]+215); break; case 2: draw_sprite(Spr_compteur2,-1,view_xview[0]+323,view_yview[0]+215); break; case 3: draw_sprite(Spr_compteur3,-1,view_xview[0]+323,view_yview[0]+215); break; case 4: draw_sprite(Spr_compteur4,-1,view_xview[0]+323,view_yview[0]+215); break; case 5: draw_sprite(Spr_compteur5,-1,view_xview[0]+323,view_yview[0]+215); break; case 6: draw_sprite(Spr_compteur6,-1,view_xview[0]+323,view_yview[0]+215); break; case 7: draw_sprite(Spr_compteur7,-1,view_xview[0]+323,view_yview[0]+215); break; case 8: draw_sprite(Spr_compteur8,-1,view_xview[0]+323,view_yview[0]+215); break; case 9: draw_sprite(Spr_compteur9,-1,view_xview[0]+323,view_yview[0]+215); break; default:draw_sprite(Spr_compteur0,-1,view_xview[0]+323,view_yview[0]+215); }
switch(centaine_rubis) { case 0: draw_sprite(Spr_compteur0,-1,view_xview[0]+316,view_yview[0]+215); break; case 1: draw_sprite(Spr_compteur1,-1,view_xview[0]+316,view_yview[0]+215); break; case 2: draw_sprite(Spr_compteur2,-1,view_xview[0]+316,view_yview[0]+215); break; case 3: draw_sprite(Spr_compteur3,-1,view_xview[0]+316,view_yview[0]+215); break; case 4: draw_sprite(Spr_compteur4,-1,view_xview[0]+316,view_yview[0]+215); break; case 5: draw_sprite(Spr_compteur5,-1,view_xview[0]+316,view_yview[0]+215); break; case 6: draw_sprite(Spr_compteur6,-1,view_xview[0]+316,view_yview[0]+215); break; case 7: draw_sprite(Spr_compteur7,-1,view_xview[0]+316,view_yview[0]+215); break; case 8: draw_sprite(Spr_compteur8,-1,view_xview[0]+316,view_yview[0]+215); break; case 9: draw_sprite(Spr_compteur9,-1,view_xview[0]+316,view_yview[0]+215); break; default:draw_sprite(Spr_compteur0,-1,view_xview[0]+316,view_yview[0]+215); }
Ensuite, appellé le dans un objet que vous appellé Obj_compteur et declaré ces 4 variables : - Code:
-
global.compteur=0 unite_compteur=0 dizaine_compteur=0 centaine_compteur=0 Puis, pour finir, appellé le script dans draw. Il ne reste plus qu'a faire global.compteur += votre valeur afin d'augmenté celui ci |
| | | SPLN Utilisateur confirmé: Rang ***
Messages : 588 Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)
| Sujet: Re: Compteur pour vos objets Jeu 8 Oct 2009 - 15:57 | |
| C'est un bon debut sauf que certains bout de codes sont a remplacer par des arguments et certaines manipe qui vont s'effectuer a l'infini comme l debut par exemple et certains bout de code je ne voit pas se qui font là! Deplus le nom des sprites nous permettra de faire QU'UN COMPTEUR se qui est fort embettant Bref je vais l'arranger un peu: Create Event: SCRIPT : compteur_init(spr0,spr1,spr2,spr3,spr4,spr5,spr6,spr7,spr8,spr9,valeur) - Code:
-
//Sprites pour le compteur spr_compteur0 = argument0 spr_compteur1 = argument1 spr_compteur2 = argument2 spr_compteur3 = argument3 spr_compteur4 = argument4 spr_compteur5 = argument5 spr_compteur6 = argument6 spr_compteur7 = argument7 spr_compteur8 = argument8 spr_compteur9 = argument9
//Variables du compteur compteur = argument10 compteur_unite = 0 compteur_dizaine = 0 compteur_centaine = 0
Step Event: SCRIPT : compteur_limit(min,max) - Code:
-
/*****Limite*****/ if compteur < argument0 {global.compteur = argument0} if compteur > argument1 {global.compteur = argument1}
/*****Calcul des Variables*****/ //Unites compteur_unite = compteur compteur_unite = compteur_unite mod 10
//Dizaines compteur_dizaine = compteur compteur_dizaine -= compteur_unite compteur_dizaine /= 10 compteur_dizaine = compteur_dizaine mod 10
//Centaines compteur_centaine = compteur compteur_centaine -= compteur_unite compteur_centaine /= 10 compteur_centaine -= compteur_dizaine compteur_centaine /= 10
Draw Event: SCRIPT : draw_compteur(x1,y1,x2,y2,x3,y3) - Code:
-
switch(compteur_unite) { case 0: draw_sprite(spr_compteur0,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 1: draw_sprite(spr_compteur1,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 2: draw_sprite(spr_compteur2,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 3: draw_sprite(spr_compteur3,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 4: draw_sprite(spr_compteur4,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 5: draw_sprite(spr_compteur5,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 6: draw_sprite(spr_compteur6,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 7: draw_sprite(spr_compteur7,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 8: draw_sprite(spr_compteur8,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; case 9: draw_sprite(spr_compteur9,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; default:draw_sprite(spr_compteur0,-1,view_xview[0]+argument0,view_yview[0]+argument1); break; }
switch(compteur_dizaine) { case 0: draw_sprite(spr_compteur0,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 1: draw_sprite(spr_compteur1,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 2: draw_sprite(spr_compteur2,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 3: draw_sprite(spr_compteur3,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 4: draw_sprite(spr_compteur4,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 5: draw_sprite(spr_compteur5,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 6: draw_sprite(spr_compteur6,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 7: draw_sprite(spr_compteur7,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 8: draw_sprite(spr_compteur8,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; case 9: draw_sprite(spr_compteur9,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; default:draw_sprite(spr_compteur0,-1,view_xview[0]+argument2,view_yview[0]+argument3); break; }
switch(compteur_centaine) { case 0: draw_sprite(spr_compteur0,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 1: draw_sprite(spr_compteur1,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 2: draw_sprite(spr_compteur2,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 3: draw_sprite(spr_compteur3,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 4: draw_sprite(spr_compteur4,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 5: draw_sprite(spr_compteur5,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 6: draw_sprite(spr_compteur6,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 7: draw_sprite(spr_compteur7,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 8: draw_sprite(spr_compteur8,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; case 9: draw_sprite(spr_compteur9,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; default:draw_sprite(spr_compteur0,-1,view_xview[0]+argument4,view_yview[0]+argument5); break; }
Personnellement je ne l'ai pas encore tester j'editerai pour vous dire si le script marche! |
| | | [TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Compteur pour vos objets Ven 9 Oct 2009 - 5:20 | |
| heuuu pourquoi ne pas utiliser les sous images? En général, quand on fait des copier/coller, il existe une autre solution... if global._compteur>=999 global.compteur=999 unite_compteur =global.compteur unite_compteur = global.compteur mod 10 dizaine_compteur =floor((global.compteur mod 100)/10); centaine_compteur =floor((global.compteur mod 1000)/100); draw_sprite(Spr_compteur,unite_rubis,view_xview[0]+330,view_yview[0]+215); draw_sprite(Spr_compteur,dizaine_rubis,view_xview[0]+323,view_yview[0]+215); draw_sprite(Spr_compteur,centaine_rubis,view_xview[0]+316,view_yview[0]+215); à vue de pif, je dirait qu'avec un boucle FOR, on peut faire encore moins de lignes. mais là, dodo |
| | | Jerelink Bonne participation
Messages : 71 Projet Actuel : Zsog
| Sujet: Re: Compteur pour vos objets Ven 9 Oct 2009 - 14:38 | |
| Tout simplement parce que je ne connait pas encore Game maker aussi bien que vous deux . C' est mon 1er script que je poste et j'entend bien qu'il y a bien plus simple seulement je ne sait pas comment faire donc après c' est surtout une sorte d'algo sur la quelle tout le monde peut se basé |
| | | Playboy Utilisateur confirmé: Rang ***
Messages : 699 Localisation : Sur la lune Projet Actuel : Sur le pont du Charles de Playboy
| Sujet: Re: Compteur pour vos objets Ven 9 Oct 2009 - 14:42 | |
| demandé et c'est pesé ! - Code:
-
global._compteur=min(999,valeur) //Une idée comme une autre ^^ for (i=0,i<3;i=i+1) { chiffre_rubis[i]=floor((global.compteur % 10^(i+1))/(10^i)); draw_sprite(Spr_compteur,chiffre_rubis[i],view_xview[0]+330-7*i,view_yview[0]+215); }
Je me suis callé sur le code de TDT Mais je pense qu'il y a pas d'erreur pour la traduction en boucle S'il y en a une bien l'idée est là au moins XD |
| | | Contenu sponsorisé
| Sujet: Re: Compteur pour vos objets | |
| |
| | | | Compteur pour vos objets | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |