Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Dessiner une ligne en pointillés. Sam 29 Oct 2011 - 3:09 | |
| - Code:
-
// scr_draw_dotted(x1, y1, x2, y2);
var dist; dist=point_distance(argument0,argument1,argument2,argument3);
if(dist){ var step; step=dist/max(abs(argument2-argument0),abs(argument3-argument1))*2;
for ({var i; i=0}; i<dist; i+=step) draw_point(argument0+i*(argument2-argument0)/dist,argument1+i*(argument3-argument1)/dist);
}else return false; |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Dessiner une ligne en pointillés. Sam 29 Oct 2011 - 12:36 | |
| Pour ce genre de truc je te conseille d'utiliser la trigo. Déjà c'est beaucoup plus intuitif, et en plus ça devrais être bien plus rapide car dans ta boucle tu te retrouve juste avec des multiplications. - Code:
-
var r, d, c, s, rr; r = point_distance(argument0, argument1, argument2, argument3) d = point_direction(argument0, argument1, argument2, argument3) c = lengthdir_x(argument4, d) s = lengthdir_y(argument4, d) rr = 0
while(rr*argument4 < r) { draw_point(argument0 + c*rr, argument1 + s*rr) rr += 1 } Et j'ai rajouté un paramètre : la séparation entre chaque point. Voila voila :p |
|
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Dessiner une ligne en pointillés. Sam 29 Oct 2011 - 12:44 | |
| Merci ! Hop modifié dans mon projet . C'est cool de partager ses scripts, d'une part on fait partager et d'une autre on nous aide à l'améliorer, c'est que du benef |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Dessiner une ligne en pointillés. Sam 29 Oct 2011 - 13:31 | |
| C'est le but de cette section :p |
|
onilink_ Modérateur
Messages : 9178 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Dessiner une ligne en pointillés. Sam 29 Oct 2011 - 13:44 | |
| D'ailleurs histoire d'étoffer un peu je t'ai fait un ptit script pour faire des lignes discontinues ou je sais pas comment ça s'appelle :p - Code:
-
var r, d, c, s, rr, t; r = point_distance(argument0, argument1, argument2, argument3) d = point_direction(argument0, argument1, argument2, argument3) c = lengthdir_x(argument4, d) s = lengthdir_y(argument4, d) rr = 0
draw_primitive_begin(pr_linelist) while((rr+1)*argument4 < r) { rr += argument4 draw_vertex(argument0 + c*rr, argument1 + s*rr) rr += argument5 draw_vertex(argument0 + c*rr, argument1 + s*rr) } draw_primitive_end() parametres : xstart, ystart, xend, yend, separation, taille |
|
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Dessiner une ligne en pointillés. Sam 29 Oct 2011 - 13:47 | |
| Merci beaucoup onilink_ ça me seras surement très utile pour mon système de window/input/list/etc.. |
|
Contenu sponsorisé
| Sujet: Re: Dessiner une ligne en pointillés. | |
| |
|