AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Dessiner une ligne en pointillés.

Aller en bas 
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
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.

MessageSujet: Dessiner une ligne en pointillés.   Sam 29 Oct 2011 - 1: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;
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8962
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Dessiner une ligne en pointillés.   Sam 29 Oct 2011 - 10: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

_________________
                 
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
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.

MessageSujet: Re: Dessiner une ligne en pointillés.   Sam 29 Oct 2011 - 10:44

Merci Smile !
Hop modifié dans mon projet Smile.

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 Smile
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8962
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Dessiner une ligne en pointillés.   Sam 29 Oct 2011 - 11:31

C'est le but de cette section :p

_________________
                 
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8962
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Dessiner une ligne en pointillés.   Sam 29 Oct 2011 - 11: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

_________________
                 
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
avatar

Messages : 1279
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.

MessageSujet: Re: Dessiner une ligne en pointillés.   Sam 29 Oct 2011 - 11:47

Merci beaucoup onilink_ ça me seras surement très utile pour mon système de window/input/list/etc..
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Dessiner une ligne en pointillés.   

Revenir en haut Aller en bas
 
Dessiner une ligne en pointillés.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Les archives départementales de Seine-Maritime en ligne à partir de 2010
» Orne 61 Archives en ligne
» 1526-1905 : l'état civil des Vosges est en ligne !
» Editeurs de Normandie.... en ligne!
» Articles sur les services en ligne personnalisés

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