LineTo

Résolu
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010 - 30 juin 2005 à 01:05
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010 - 3 juil. 2005 à 01:08
bonjour, voilà je me pose une question. je suis en train de créé une carte géographique dynamique..

et j'ai du genre:

_root.createEmptyMovieClip("cartegeo", 4);

cartegeo.beginFill(0xFFFFFF, 50);

cartegeo.lineStyle(1, 0x3E7595, 100);

cartegeo.moveTo(99, 208);

cartegeo.lineTo(112, 212);

cartegeo.lineTo(120, 214);

cartegeo.lineTo(129, 218);

cartegeo.lineTo(131, 220);

etc...

ma question est: est-ce qu'il y'a moyen de faire autrement qu'une quantité démesurée de lineTo ?

Merci à ceux qui se pencheront là-dessus.

6 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
30 juin 2005 à 04:46
oui, il te suffit de faire un tableau contenant tes coordonnées (genre tableau à 2 dim) et faire un for de 0 à la taille max de ton tableau et d'aller chercher les points un par un pour y faire un line-to Dynamique ... mais tu es certain de ne pas préférer faire des cartes vectorielles à la main plutôt ? là, tu vas te prendre le choux pour rien !

Peg'
3
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
30 juin 2005 à 13:34
Ok ben je vais faire ça alors... je suis certain de moins me prendre la
tête avec du vecto, mais y'a une raison pour le script, c'est que
j'aimerais que la carte se dessine sous les yeux de l'internaute, (et
là ben ça va être encore plus long à la main...).

Merci pour ta réponse. A+.
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
30 juin 2005 à 19:08
Pffff... bon. J'ai passé la journée à comprendre ce truc de tableau.
(F1, tout les sites de google, Flashkod, etc.., etc..). ça m'énérve
tellement que vectoriel ou lineTo, je veux comprendre comment on fait
ce bon dieu de tableau. ça dois être pourtant si simple...

voilà ce que j'ai (c'est un sacré mélange):



_root.createEmptyMovieClip("suisse", 1);

suisse=["200,204","243,234","267,259","298,345"]//etc..c'est un exemple.

for(i=0;i<4;i++){

france[i]=random(30)+1;

}

suisse.beginFill(0xFFFFFF, 50);

suisse.lineStyle(1, 0x3E7595, 100);

suisse.moveTo(coord[0], coord[1]);

i = 2;

_root.onEnterFrame = function() {

if (i<coord.length-1) {

suisse.lineTo(coord[i], coord[i+1]);

i += 2;

}

alors:

d'abord le for doit être mal placé, ensuite tout ce qui est en rouge,
je comprend pas ce que ça fait... je crois que je mélange tout, c'est
la première fois que j'essaie ce truc.

Avant que je détruise mon bureau pourrais-tu en quelques mots m'en dire un peu plus sur ce tableau et son for?
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
30 juin 2005 à 19:16
pi je vois que j'ai marqué france[i]=random(30)+1;au lieu de suisse[i]=random(30)+1; enfin..détail..... tu connais un bon livre sur flash pas trop cher ou on trouves ce type de prob?

A+.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
3 juil. 2005 à 00:52
Voiiiiiiiiiiiiiiiilà.



Tracé dynamique :



ok = false;

//on coupe le onEnterFrame

Loader = new LoadVars();

//on crée un nouveau LoadVars()

Loader.load("file://Rafael/Desktop/coordone.txt");

//on charge le fichier

Loader.onLoad = function(Success) {

//on définis la méthode onLoad

if (Success) {

//si c'est chargé

map = Loader.point.split(";");

//on sépare les";"

for (j=0; j<map.length; j++) {

map[j] = map[j].split(",");

//on sépare les "," (x,y) avec la boucle for

}

_root.createEmptyMovieClip("clip", 1);

//on crée un clip

clip.lineStyle(2, 0x000000, 100);

//on lui donne des propriétés

clip.moveTo(map[0][0], map[0][1]);

//on donne le premier point en référence au tableau (map)

ok = true;

//on ouvre le onEnterFrame

}

};



onEnterFrame = function () {

//on crée la fonction onEnterFrame

if (ok) {

//on exécute la condition if

if (i<map.length-1) {

i++;

clip.lineTo(map[i][0], map[i][1]);

// trace("x="+map[i][0]+"y="+map[i][1])

//on dessine le tracé du premier au dernier point

} else {

//si autre condition

delete (onEnterFrame);

//on vide le clip



}

}

};



Et dans le fichier coordone.txt:



point=150,100;75,165;75,280;150,350;270,350;350,280;350,165;270,100;150,100



(c'est un exemple...)



Si y'a des âneries ou que c'est mal décrit (//) faites-le savoir merci.



Une question me brûle les lèvres comment puis-je ralentir ma boucle??

setInterval?? Mais ou??

(parceque là y faut mettre à 4i/s... et ça va pas...)

Merci à Peg' de m'avoir indiquer la voie, à Badoux de m'avoir aider et à Blacknight91titi de m'avoir donné une leçon!!! ;-)

A+.



(si Peg' m'avais répondu... j'aurais pas compris ;-)
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
3 juil. 2005 à 01:08
oups...



"// trace("x="+map[i][0]+"y="+map[i][1])"

c'est un reste du comment à Blacknight ... moi j'ai dis comme ça :

//on dessine le tracé du premier au dernier point



Re ^^...
0
Rejoignez-nous