AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez
 

 draw_line_width pour Game Maker 6

Aller en bas 
AuteurMessage
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 5 Déc 2007 - 14:30

Je trouvais cela déplaisant de ne pas pouvoir créer des lignes avec une largeur dans GM6 comme on peut le faire dans GM7.

Alors voici trois script fait par mes soins happy1 :

//Écrit par CoDeAVE
//
//draw_line_width(x1,y1,x2,y2,width)
{
var line_dir,x1,x2,y1,y2,w;
x1=argument0;
y1=argument1;
x2=argument2;
y2=argument3;
w=argument4*0.5;
if (w==1){
draw_line(x1,y1,x2,y2);
exit
}
line_dir=point_direction(x1,y1,x2,y2);
draw_primitive_begin(pr_trianglestrip);
draw_vertex(x1+lengthdir_x(w,line_dir-90),y1+lengthdir_y(w,line_dir-90));
draw_vertex(x2+lengthdir_x(w,line_dir-90),y2+lengthdir_y(w,line_dir-90));
draw_vertex(x1+lengthdir_x(w,line_dir+90),y1+lengthdir_y(w,line_dir+90));
draw_vertex(x2+lengthdir_x(w,line_dir+90),y2+lengthdir_y(w,line_dir+90));
draw_primitive_end();
}


//Écrit par CoDeAVE
//
//draw_line_width_color(x1,y1,x2,y2,width,col1,col2)
{
var oc,line_dir,x1,x2,y1,y2,w,col1,col2;
oc=draw_get_color();
x1=argument0;
y1=argument1;
x2=argument2;
y2=argument3;
w=argument4*0.5;
col1=argument5;
col2=argument6;

if (w==1){
draw_line_color(x1,y1,x2,y2,col1,col2);
exit
}
line_dir=point_direction(x1,y1,x2,y2);
draw_set_color(c_white);
draw_primitive_begin(pr_trianglestrip);
draw_vertex_color(x1+lengthdir_x(w,line_dir-90),y1+lengthdir_y(w,line_dir-90),col1,1);
draw_vertex_color(x2+lengthdir_x(w,line_dir-90),y2+lengthdir_y(w,line_dir-90),col2,1);
draw_vertex_color(x1+lengthdir_x(w,line_dir+90),y1+lengthdir_y(w,line_dir+90),col1,1);
draw_vertex_color(x2+lengthdir_x(w,line_dir+90),y2+lengthdir_y(w,line_dir+90),col2,1);
draw_primitive_end();
draw_set_color(oc);
}

//Écrit par CoDeAVE
//
//draw_line_width_color_ext(x1,y1,x2,y2,width,col1,alpha1,col2,alpha2)
{
var oc,line_dir,x1,x2,y1,y2,w,col1,col2,alpha1,alpha2;
oc=draw_get_color();
x1=argument0;
y1=argument1;
x2=argument2;
y2=argument3;
w=argument4*0.5;
col1=argument5;
alpha1=argument6;
col2=argument7;
alpha2=argument8;
if (w==1){
draw_line_color(x1,y1,x2,y2,col1,col2);
draw_primitive_begin(pr_linelist);
draw_vertex_color(x1,y1,col1,alpha1);
draw_vertex_color(x2,y2,col2,alpha2);
draw_primitive_end();
exit
}
line_dir=point_direction(x1,y1,x2,y2);
draw_set_color(c_white);
draw_primitive_begin(pr_trianglestrip);
draw_vertex_color(x1+lengthdir_x(w,line_dir-90),y1+lengthdir_y(w,line_dir-90),col1,alpha1);
draw_vertex_color(x2+lengthdir_x(w,line_dir-90),y2+lengthdir_y(w,line_dir-90),col2,alpha2);
draw_vertex_color(x1+lengthdir_x(w,line_dir+90),y1+lengthdir_y(w,line_dir+90),col1,alpha1);
draw_vertex_color(x2+lengthdir_x(w,line_dir+90),y2+lengthdir_y(w,line_dir+90),col2,alpha2);
draw_primitive_end();
draw_set_color(oc);
}
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 5 Déc 2007 - 16:26

ya déja un script comme ca mais bon :p

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
 
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 5 Déc 2007 - 19:47

lol oui je l'ai déjà mis ^^
Mais par contre, là il y a aussi les ext et color... ce que j'avais pas mis... super

_________________
draw_line_width pour Game Maker 6 Control_commentTous les icones de gm utilisables sur le cbna ICI draw_line_width pour Game Maker 6 Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 5 Déc 2007 - 21:46

gha Mais c'est mes versions de moi alors parce que je l'ai est faites moi même !Je ne savais pas qu'il y avait sa !
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*
Topaze22

Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyVen 7 Déc 2007 - 11:39

T'inquiètes pas, ils l'ont bien compris happy1

Sinon, le boulo m'a l'air clean super

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
draw_line_width pour Game Maker 6 Projet13
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyVen 7 Déc 2007 - 12:50

Very Happy Sauf que l'autre script il fait 5 lignes et le tien en fait facile 100 Very Happy

Bon travail en tout cas Wink Very Happy

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
 
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyVen 7 Déc 2007 - 15:50

Citation :
Sauf que l'autre script il fait 5 lignes et le tien en fait facile 100

Bon travail en tout cas

Et bien il y a trois script en out c'est pas un seul!
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*
Topaze22

Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyVen 7 Déc 2007 - 16:17

Oui, et ce n'est pas le nombre de ligne qui compte pour les performances.
Comme il utilise les vertex, il se peut que son truc fasse un effet plus joli et moins gourmand. Les draw ligne, ça pompe énormément. Donc le système de Dave est peut être plus performant. il faudrait faire des testes, cela pourrait être intéressant, ais j'ai trop la flem et si peu de temps :sourire:

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
draw_line_width pour Game Maker 6 Projet13
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyVen 7 Déc 2007 - 23:00

nan... pour des lignes, les vertexs bouffent plus qu'un draw_line...

_________________
draw_line_width pour Game Maker 6 Control_commentTous les icones de gm utilisables sur le cbna ICI draw_line_width pour Game Maker 6 Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 0:38

Alors comment faire une ligne avec une largeur sans les vertex ?
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 8:59

avec plusieurs lines ^^
Mais bon, tes scripts restent quand même très utiles, parce que le mien ne comprenait pas les paramètres couleurs et ext et tout ça...

_________________
draw_line_width pour Game Maker 6 Control_commentTous les icones de gm utilisables sur le cbna ICI draw_line_width pour Game Maker 6 Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
master47
Utilisateur confirmé: Rang *****
master47

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 9:45

bin comme ca
Spoiler:
 

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
 
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 17:05

happy1 J'aime aussi votre manière !.Mais je préfère la mienne (Biensur). :p_lol:
Revenir en haut Aller en bas
Blizter
Banni(e)


Messages : 2002

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 18:01

c'Est mieu les vecteurs.
Revenir en haut Aller en bas
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 18:11

Les vecteurs ??? Quesque ça peut jouer la dedans ?
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 19:12

Blizter a écrit:
c'Est mieu les vecteurs.

J'ai pas trop compris ce que tu veux dire : S

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
 
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
edi9999
Utilisateur confirmé: Rang *****
edi9999

Messages : 2480
Localisation : France
Projet Actuel : theatre flashy

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 19:15

Moi non plus je comprends pas

_________________
Mes tutos sur le site: -Tutoriel débutant- Tutoriel intermédiaire
Venez sur http://gameplay.c.la pour des tutos sur mon site.
Utilisez des hébérgeurs gratuits et sans temps d'attente!:
http://willhostforfood.com/
Revenir en haut Aller en bas
http://gameplay.c.la/
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 19:48

Peut-être tracer des points sur des vecteurs je sais pas trop :question:
Revenir en haut Aller en bas
master47
Utilisateur confirmé: Rang *****
master47

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptySam 8 Déc 2007 - 20:31

En gros ca revient à dessiner des lignes Very Happy

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
 
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyDim 9 Déc 2007 - 2:04

il voulait surement dire les primitives...

_________________
draw_line_width pour Game Maker 6 Control_commentTous les icones de gm utilisables sur le cbna ICI draw_line_width pour Game Maker 6 Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyDim 9 Déc 2007 - 2:21

C'est quoi une primitive ?Peut être je sais c'est quoi mais connais pas le nom Xd

Primitive de dessin ça me dis de quoi ça ! :question:
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*
Topaze22

Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyDim 9 Déc 2007 - 9:30

Il faud trois primitives pour faire un triangle en 3D sur lequel tu peux "plaquer un texture".

Une primitive, c'est les "traits" qui constitue les polygones en 3D.

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
draw_line_width pour Game Maker 6 Projet13
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyDim 9 Déc 2007 - 9:59

Topaze22 a écrit:
Il faud trois primitives pour faire un triangle en 3D sur lequel tu peux "plaquer un texture".

Une primitive, c'est les "traits" qui constitue les polygones en 3D.
Euh... pour fair un triangle il faut trois VERTICES, non?
:question:

_________________
draw_line_width pour Game Maker 6 Control_commentTous les icones de gm utilisables sur le cbna ICI draw_line_width pour Game Maker 6 Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyDim 9 Déc 2007 - 18:57

Prmitive c'est pas les carrée, cercle , triangle ect..En fait des formes :question:
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyDim 9 Déc 2007 - 19:13

primitive=polygone

_________________
draw_line_width pour Game Maker 6 Control_commentTous les icones de gm utilisables sur le cbna ICI draw_line_width pour Game Maker 6 Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 19 Déc 2007 - 4:09

J'ai fait une testeur pour voir qu'elle était le script le plus performant entre le mien et l'autre existant.

voici le gm6( Vous pourrer vériier si j'ai tricher rire ) :

draw_line_width_test.gm6 - 0.01MB

Il teste pendant un moment et fait la moyenne de 5 fps durant le test . Par après il refait le test mais avec l'autre script.
Le mieu est d'ignorer les deux premier résultat parce que le jeu vient tout juste de démarrer dans le premier résultat.

Mon script me donne de meilleurs résultats .Mais ils restent très prochent ces résultats. J'aimerais savoir si vous aussi c'est comme ça rouge

Je trouvé aussi une manière d'optimiser encore mon script en enlevant des variables inutiles passant par les arguments:

var line_dir,w;
w=argument4*0.5;
if (w==1){
draw_line(argument0,argument1,argument2,argument3);
exit
}
line_dir=point_direction(argument0,argument1,argument2,argument3);
draw_primitive_begin(pr_trianglestrip);
draw_vertex(argument0+lengthdir_x(w,line_dir-90),argument1+lengthdir_y(w,line_dir-90));
draw_vertex(argument2+lengthdir_x(w,line_dir-90),argument3+lengthdir_y(w,line_dir-90));
draw_vertex(argument0+lengthdir_x(w,line_dir+90),argument1+lengthdir_y(w,line_dir+90));
draw_vertex(argument2+lengthdir_x(w,line_dir+90),argument3+lengthdir_y(w,line_dir+90));
draw_primitive_end();


Mais le gain de performance est minible et le gain de mémoire aussi j'imagine! C'est pas quatre variable de plus qui va tout changer Razz
Revenir en haut Aller en bas
M@d_Doc
Modérateur
M@d_Doc

Messages : 6600
Localisation : 47°44'8.04
Projet Actuel : aucun

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 19 Déc 2007 - 7:24

oui, mais toute optimisation est bonne à prendre !!
Et teste une fois sur 800-900 lines d'un coup, pour voir qui est le plus rapide :p

_________________
draw_line_width pour Game Maker 6 Control_commentTous les icones de gm utilisables sur le cbna ICI draw_line_width pour Game Maker 6 Main1_change_sprite
Revenir en haut Aller en bas
http://www.lecbna.org
daminetreg
Administrateur
daminetreg

Messages : 16996
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 19 Déc 2007 - 7:51

Pas mal, même si comme dit, il y a un peut d'optimisation possible. happy1

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
draw_line_width pour Game Maker 6 U3dfr2
Revenir en haut Aller en bas
http://lecbna.org/
CoDeAVE
Utilisateur confirmé: Rang **
CoDeAVE

Messages : 408
Localisation : Québec

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 19 Déc 2007 - 12:38

C'est vraiment drôle parce que je viens de tester avec 500 lignes par step. Et l'autre script est plus performant de cette manière rire !

Mais jva essayer de faire une grosse optimisation de mes scripts :fier:
Revenir en haut Aller en bas
Topaze22
*Excellent utilisateur*
Topaze22

Messages : 6213
Localisation : Sur la Lune
Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World

draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 EmptyMer 19 Déc 2007 - 19:28

M@d_Doc a écrit:
Topaze22 a écrit:
Il faud trois primitives pour faire un triangle en 3D sur lequel tu peux "plaquer un texture".

Une primitive, c'est les "traits" qui constitue les polygones en 3D.
Euh... pour fair un triangle il faut trois VERTICES, non?
:question:

Je suis nul en 3D.
Désolé heheh

_________________
Topique pour le Projet Hello Mario en préparation.
Sorti du topique lorsque la première démo sera disponible.
draw_line_width pour Game Maker 6 Projet13
Revenir en haut Aller en bas
Contenu sponsorisé




draw_line_width pour Game Maker 6 Empty
MessageSujet: Re: draw_line_width pour Game Maker 6   draw_line_width pour Game Maker 6 Empty

Revenir en haut Aller en bas
 
draw_line_width pour Game Maker 6
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» EPOXIA ORAGIS, projet jeu de combat Game Maker
» Jeu d'horreur SCP
» Cherche plusieurs sprites ...
» Mastermind
» STF:Le PROCESSUS ALPHA D'ELIMINATION

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: