Tutoriel
Création d'un programme de dessin basique
Bonjour dans ce tutoriel plus que basique nous allons apprendre simplement à user des vecteurs afin de créer un programme de dessin. Ne vous attendez pas à vous en sortir avec un illustrator ni Inkscape ou SodiPodi, mais simplement comprendre comment afficher les vecteurs correctement, toutefois pas ceux préconçus par Game Maker, pour certain cela pourrait paraître idiot, mais ce n'est pas toujours si simple pour d'autres, à vous de voir ce que cela donne: Fichier .gm6 Téléchargeable

Tout d'abord créons un objet: Ynit
(Evenement Create):
alarm[0] = 1; //L'alarme est là pour qu'un message de chargement puisse s'afficher.

Oui ici nous créons une alarme afin que durant le premier step l'évenement draw suivant ait le temps de s'afficher avant que le chargement bloque tout.
(Evenement Draw):
draw_set_halign(fa_center)
draw_text(room_width / 2,room_height / 2,"Chargement...")
draw_set_halign(fa_left)

(Evenement Alarm 0):
for(i = 0; i < 500; i += 1) //Initialise le tableau à deux entrées:
{
for(n = 0; n < 5000; n += 1) //D'abord les Polygones
{
global.vtx[i,n] = 10;//Puis les Vecteurs
}
}
global.num = 1 //Nombre de vecteurs
global.poly = 1 //Nombre de polygones
instance_create(0,0,obj_jedessine);
instance_destroy();

Ici nous initialisons le tableau qui nous permettra de garder en mémoire les vecteurs et les polygones à 10 vecteurs correspondent un polygone environ.

Dans obj_jedessine:

(Evenement Global Left Button):
global.vtx[global.poly,global.num] = instance_create(mouse_x,mouse_y,obj_vecteur) //Cree l'obj vecteur et le défini tel le polygone et vecteur courant du tableau
global.vtx[global.poly,global.num].vid = global.num //VID pour l'objet vecteur (Id du vecteur)
global.vtx[global.poly,global.num].pid = global.poly //PID pour l'objet vecteur (Id du polygone)
global.num += 1 //Incrémenter num, qui est le VID.

Je crois que tout est dans les commentaires du code. rouge

(Evenement Global Left Button Released):
global.poly += 1 //Débute un nouveau polygone
global.num = 1 //Regle num sur 1.



Dans obj_vecteur:
(Evenement Draw):
if instance_exists(global.vtx[pid,vid + 1]) //Si un vecteur est crée après celui-ci
{
draw_line_color(x,y,global.vtx[pid,vid + 1].x,global.vtx[pid,vid + 1].y,c_yellow,c_lime) //Affiche le vecteur
}


Attention ne mettez que l'objet Ynit dans la room.

Voilà ce fut vraiment court, mais j'ai posté ceci sur un coup de tête après avoir aider quelqu'un sur le forum, je trouvais que l'aide que je lui avais donné était assez complète pour que d'autres en profite. Voilà je vous remercie d'avoir pris le temps de comprendre, et d'être fidèle à La Communauté Francophone sur Game Maker. Je vous souhaites une bonne soirée, ou journée selon l'heure qu'il est. Merci.
Buhl Damien
allias daminetreg
http://www.lecbna.org/
14/06/2006 par daminetreg
19 Commentaires

par Oksyd @ 21/06/2006 05:33 pm
Interressant! happy1
Je m'attaquerai à ce tutoriel lorsque j'aurais du temps libre. Merci daminetreg!

par ber @ 25/06/2006 04:11 pm
honte gniah hap heheh honte honte honte honte colere colere non3 non3 non3 non3 beh beh beh beh ouh ouh ouh gniah gniah question question dodo snif non non non non3 non3

par daminetreg @ 12/07/2006 06:29 pm
ber, tu sais tu m'as l'air idiot... Car tes arguments sont d'une constructivité inconcevable.

par spax @ 27/07/2006 05:07 pm
g ABSOLUMLENT rien compris ...

par daminetreg @ 28/07/2006 11:00 am
C'est pourtant simple le principe: On dessine un des vecteurs entre chaque point que réalise la souris afin que le trait soit continu et non haché. happy1

par Tom @ 10/08/2006 02:04 pm
sa a l'air pas mal, photoshop a été fait avec sa gnii (humour ne vous inquétez pas)

par Tom @ 10/08/2006 02:05 pm
sa a l'air pas mal, photoshop a été fait avec sa gnii ? (humour ne vous inquétez pas)

par @Chris@ @ 11/08/2006 12:57 pm
ton tuto marche po snif

par conan3d @ 18/08/2006 12:50 pm
faut la version complete, que je n'ai pas... happy1

par @NOTIZ@ @ 26/08/2006 12:32 pm
J'aimerais savoir s'il est possible de créer une flèche et que sa créé des vecteurs à x, y de la flèche question
(on déplace la flèche avec :
haut, bas, gauche, droite)
Comme le principe de la Tortue :
http://www.algo.be/logo1/logo-primer-fr.html

par @NOTIZ@ @ 26/08/2006 12:33 pm
Enfin pas exactement pareil gnii
Vu quel l'on entre aucune valeur.
SVP, merci

par @NOTIZ@ @ 26/08/2006 12:48 pm
Enfin pas exactement pareil gnii
Vu quel l'on entre aucune valeur.
SVP, merci

par daminetreg @ 04/09/2006 05:06 pm
Il suffit de remplacer les évenements:
Evenement Global Left Button & Evenement Global Left Button Released
Par des alarmes ou quelque chose comme ça, et de changer le code glob left button en enlevant: mouse_x et mouse_y et les remplacant par les valeurs x et y de ta flèche. clin

par linki1119 @ 06/02/2007 06:19 am
j'ai reussi moi gnii super

par gosc @ 14/02/2008 11:43 am
eu et ou on doit placer les code ? snif

par gosc @ 14/02/2008 12:04 pm
j'ai compris ou les mettre mais si je clique quand sa a charger ça me met :

ERROR in
action number 1
of Draw Event
for object obj_vecteur:

Error in code at line 3 :

draw_line_color(x,y,global.vtx[pid,vid + 1].x,global.vtx[pid,vid + 1].y,c_yellow,c_lime)

at position 2: This function is only available in the registred version

par linki1118 @ 25/06/2008 01:14 pm
il te faut la version enregistré:
"This function is only available in the registred version" = "Cette fonction n'est valable que dans la version enregistré" happy1

par Alemaru @ 06/11/2009 03:59 pm
J'ai tout pigé happy1! Pas mal du tout happy1! Mais j'aimerais savoir si c'est possible de pouvoir avoir un choix de couleur pendant le jeu ? Ca serait pas mal !

par fefvsd @ 02/06/2010 09:31 am
pas mal

Nom:
Mail: (optionel)
Êtes vous Humain? (Entrez oui si c'est le cas)

smile's:

fleche_dfleche_gbehgniihappy1questionrirerire2rougesupertristeangeclincoeurcoleredodofierghagniahhaphehehhontenonnon3ouhouisnif

| M'oublier