Comment modifier uen carte en peu de lignes de code?

Résolu
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008 - 27 déc. 2005 à 22:33
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008 - 3 janv. 2006 à 07:45
Bonsoir,
J'ai cette carte a refaire pour un truc qu'on ma donné a faire : http://lacombe.f1.free.fr/synoptique%20RTE.bmp mais elle doit etre dynamique (a savoir que les liens en bleus doivent pouvoir changer de couleur) mais je n'ai pas envie de faire un clip par lien avec un objet color...

Comment doit-je donc prosseder?

25 réponses

cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
29 déc. 2005 à 02:58
bon, comme d'hab, on avance souvent plus par l'absurde qu'autrement. je me base ici sur le dernier BMP que tu indiques plus haut, le petit.
d'abord, ne peux tu creer une bibliotheque de clips, generiques, que tu utiliseras sur l'ensemble de ta map? souvent, ces tableaux sont tres symbolises, et donc, les memes elements sont reiteres un peu partout.
ensuite, et sur la base de ce principe, tu colles le code sur le clip, tjrs le meme, du genre:
onClipEvent(load){
if(varColor == 1){
this.line1.setRGB1(0xrrggbb) // c'est le RGB de la line1
this.line2.setRGB2(0xrrggbb) // c'est le RGB de la line2
. . .
}
}
je manque details pour preciser le code, mais l'idee est la... ca te ferais gagne un peu de temps. a nouveau, comment est active le changement de couleur? tu dis en interne, mais comment? requete serveur, evenement exterieur?


Felix, joyeux Noel Felix!
3
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
29 déc. 2005 à 04:35
Moi je sais pas si je ferai ça avec du dessin (tout dépend du contexte en fait).



Tu pourrais p-ê simplifier et définir les différents états d'une ligne et faire directement plusieurs images par clip.





Message: ligne=18&etat=accident



for(elt in conteneurLignes){

if(conteneurLignes[elt]._name.substring(0,2)==18){

conteneurLignes[elt].gotoAndStop(etat);

}

}



Le plus long dans ce truc, pour moi, c'est la vectorialisation de toutes les lignes!!!!



Bon courage!



PS: elle en est où ton appli avec les caméras des autoroutes?



@+! Samy
3
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
30 déc. 2005 à 04:23
oh la la, t'en poses bcp des questions! pff! bon deja, ton souci avec tes lignes, vient que justement, ce sont des lignes, des contours. donc si pour une ligne d'epaisseur 5 et de longueur 100 pixels, tu la reduits, via un scale ou un ratio , disons 20%, tu obtiendras une longueur de 20 pixels, mais toujours une epaisseuer de 5 pts. c'est beteuuuh! le truc, a ma connaissance, est de transformer tes contours en a-plats, en plein . malheureusement, il n'y pas de raccourcis claviers pour cela, je te conseille donc de t'en creer un.(preferences/raccourcis clavier/dupliquer celui de macromedia et creer ton raccourcis)

non, comme tu l'as devine, si tu donnes le meme nom d'occurence a tes symboles, seul l'un d'entre eux reagira a ton script. la solution est de generer dynamiquement les clips, et leur nommage (clip[i]._name = "leClip"+i ) par exemple... je ne crois pas qeu ce soit facilement applicable dans ton cas...


Peace from Mars
to all human beings
3
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
31 déc. 2005 à 00:55
ben ecoute, normalement non, pas de "/ ".si lorsque tu tapes le nom de ton occurence, presses "enter" et la, si le nmo est refuse, tu auras une alerte de flash.

on attend l'appli avec impatience (on doit pas etre les seuls :) !)

Peace from Mars
to all human beings
3

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

Posez votre question
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
2 janv. 2006 à 13:40
Tu dessines ton trait avec l'outil ligne, tu le sélectionnes et tu vas dans le panneau "Propriétés".



Là, t'as un menu déroulant "Redimensionner", suffit de mettre "aucun" à la place de "auto"!



T'as aussi une propriété "Scale9grid" ou un truc du genre, quand tu
fais F8 pour transformer en clip, t'as une p'tite case à cocher en bas
pour activer ça! Mais c'est plus space à utiliser je trouve, ça dépend
de l'utilisation dont on veut en faire...pour un truc ce fut bien
pratique!



@+! Samy
3
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
28 déc. 2005 à 02:58
WOW! ben d'abord bon courage! ensuite questions:

- combien de couleurs

- je suppose que tu dois modifier la couleur de telle ou de telle ligne?

- changement onPress ou suivant un passage de variables? depuis un serveur ...

avec un passage de variables, ce serait plus aise... la meme variable
passant le meme code couleur... donc deja, la tu generalises.



peut etre avec la classe BitmapData et la methode Draw... finalement ce ne sont que des droites...






Felix, joyeux Noel Felix!
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
28 déc. 2005 à 12:28
Détrompe toi, ce ne sont pas des droites... enfin presque. regarde cette deuxieme image : http://lacombe.f1.free.fr/detailSynoptiqueRTE.bmp. Ensuite, je ne vais pas trvailler sur l'image que je poste plus haut, ce n'est qu'un model et après, elle sera recopier dans un fla.
Pour répondre a ta premiere question, je dois bien modifier la couleur de telle ou telle ligne séparément et je pencherais plus pour un chamgement par passage de variable.

Si tu as d'autres questions...
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
29 déc. 2005 à 01:24
ok, il faut ABSOLUMENT retranscrire la courbure? wow! de toutes facons, il n'y aura pas un mec derriere l'appli pour cliquer sur le bouton pour changer la couleur, donc forcement, dynamique etr passage de variables.
Ben a part creer un clip avec une boulce pour tester et loader la variable Couleur, je vois comment...maintenant, si ton image originale dont tu vas te servir pour generer ton FLA est propre, ca peut aller vite pour creer tes clips. le souci, c'est pas tant de creer les clips, ca va etre le nommage et le code...

bon courage, et j'espere que qqu'un de plus eclaire que moi va t'apporter une solution plus...legere.


Felix, joyeux Noel Felix!
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
29 déc. 2005 à 02:20
Oui, merci pour ton aide....
Je peut créer des clips a tire larigot, cela ne me dérange pas du tt (du moment que le dévellopement et la lecture restent fluide). Par contre, pour ce qui est du code... Il y a a peu près une centaine de circuits (un traits) car chaque circuit est indépendant donc la ou tu en vois 3, c'est 3 clips qu'il faut faire avec 3 nom d'occurence différents... 3 variables differantes et du coup, 3 codes differnants. Moi je dis vive la saint trinité!!
Après, pas besoin de faire un code qui vérifie les variables en boucle... tous les événements qui feront changé la couleur seront en interne... donc l'évenement déclanché, on change la couleur... pas autrement sinon mon CPU va pas suivre.

Merci a vous tous!!
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
29 déc. 2005 à 12:27
Je crois que j'ai trouvé comment faire avec ce que vous m'avez dit...Je ne sais pas si vous aviez trouvé mais la carte que j'ai passée plus haut est le réseau 400Kv de RTE, le gestionnaire du transport de courent en France. Chaque trait bleu représente un "circuit" a savoir un ensemble de six ou trois cables en fonction des cas. Parailleur, cela ne dit pas physiquement ce que l'on peut voir : Si il y a deux circuit sur leur carte, cela ne veut pas dire qu'il y a deux files de pylones sur le terrain...
La carte donne donc l'état de ces circuits avec 3 parties bien distinctes pour l'affichage : d'une, la sortie du poste de départ (c'est ce que l'on peut voir sur la petite image lorsque les 3 lignes convergent entre-elles), la partie centrale, la plus grande, c'est le transport entre les deux postes aux extremités et pour finir, l'entrée dans le poste final (c'est comme au debut sauf que c'est a la fin). Tous ca pour dire que ces trois partie doivent changer de couleur indépendament.
Ce que je peut faire, c'est 3 clips seulement dans ma bibliotheque : un pour le debut, un autre pour la fin et un dernier pour le centre. Il me suffit donc de fixer un prefixe pour le nom du circuit dans le nom d'occurence et comme ca avec une boucle, je peut couper tout un circuit
exemple : circuit1_debut, circuit1_centre, circuit1_fin.

Ensuite, pour ce qui est du changement de couleur, il y a deux cas de figure : sois un evenement "exterieur" survient (il n'a d'exterieur que le nom car ca va etre l'appli qui va dire a un moment t, on coupe tel ou tel circuit, ce qui revient a une simulation d'evenement) ou alor, lors d'un delestage, le dispatcher (en l'occurence moi) peut couper un circuit manuellement. Donc quand un circuit va changer de couleur c'est non pas parce qu'un variable va changer, mais parce le code aura visé un clip bien particulier et lui aura dit de changer de couleur (par l'objet color). Je pense que c'est plus pratique question ressources CPU parce que si je doit verifier au moin 300 variable et ce 24 fois par seconde, mon ordi va prendre feu en moin de 5 minutes.

Pour ce qui est de mon appli sur les autoroutes, je ne suis toujours pas arrivé a chopper le flux video des webcam ce qui revien a dire que tout est près mais il ne me manque que ca... A la limite, j'ai une idée, pourquoi ne pas afficher le pop-up qui contien l'image de la cam dans la flash diretement à la maniere d'une i-frame? Est-ce bien possible?

En tout cas merci beaucoup et a la prochaine!
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
29 déc. 2005 à 16:17
Bon ben j'ai un autre probleme : lorsque je convertit une ligne dite "standart" en symbole graphique et bien je ne peut pas le redimentionner sous peine de le voir augmenter en épaisseur... Comment on fait pour éviter cette chose?
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
29 déc. 2005 à 17:46
On dit qu'un problème en apelle d'autre... c'est pas faux!!
Lorsque j'ai deux symboles (ou plus) qui forment ma partie centrale du lien, j'aimerais bien donner le meme nom d'occurence a tous car comme ca on fait un seul objet color pour tout le monde sans se poser de question... oui mais voila, seulement un des clips qui ont le meme nom change de couleur lors de la lecture!! cela doit venir du nom qui ne peut etre commun a plusieurs symboles... donc comment je peut généraliser ca?
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
29 déc. 2005 à 22:56
Petite question au passage, comment peut-on savoir si un clip existe en testant son chemin cible?
J'avais pense a quelquechose comme ca mais il doit y avoir plus simple...

if (eval("_root.carte."+poste+"_"+nomPosteCible+numeroLien+"_depart")._name != undefined){
lien = poste+"_"+nomPosteCible+numeroLien;
}else if (eval("_root.carte."+nomPosteCible+"_"+poste+numeroLien+"_depart")._name != undefined){
lien = nomPosteCible+"_"+poste+numeroLien;
}

En clair, mes nom de liens (circuits) sont composés des deux postes qui sont aux extremités plus d'un numero de circuit et je ne peut pas leur donner plusieurs nom differants. Vu que la fonction qui les vise donne en premier le nom du poste qu'elle a choisi (elle choici d'abord un poste dans un array pour modifier le statut du lien qu'elle choisi une nouvelle fois dans un autre array, lui placé sur le clip du poste) et en suite le nom du poste à l'autre extremité de la liaison. Ce qui peut poser probleme si on inverse l'ordre des deux postes dans le chemin.

C'est pas très clair mais bon...
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
30 déc. 2005 à 13:32
Je n'ai pas tout compris pour passer mon trait en forme pleine (parce que ca peut aussi m'aider pour les masques)...

Pour ce qui est du nomage de mes clips, j'ai fait en sorte de nomre chaque ligne "ligne1", "ligne2"... et avec une boucle et eval je les atteint tous.

Merci a toi
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
30 déc. 2005 à 13:47
bon ben deja c'est cool, pour le nommage de tes clips, bonne nouvelle. concernant tes lignes, tu les traces aves l'outil...ben, l'outil ligne justement. or flash a la mauvaise habitude de ne pas considerer les lignes commes des objets vectoriels aux proprietes proportionellement modifiables, donc ta ligne de 5 pts d'epaisseur fera TOUJOURS 5 pts d'epaissseur, que tu l'agrandisse a l'infini ou pas. donc il faut que tu la transformes en a-plat, en plein ,enfin, bon, tu vois ce que je veux dire! en objet que tu colories avec le pot de peinture, pas avec la bouteille d'encre de chine! ah maaaiiissss eeeuuuuhhhhh!


Peace from Mars
to all human beings
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
30 déc. 2005 à 15:27
Ok c'est passé merci... dis moi, les slash sont-ils accepté dans les nom d'occurences?
Parce que j'ai un probleme avec mery/seine qui ne veut pas couper les circuits qui lui sont raccordé.
Autrement, j'ai été obligé de faire un e-mail a RTE pour avoir des gros plans de leur synoptique mais mon bienfeseur habituel a savoir TF1 a répondu a cette question : sur un JT il m'on fait tout l'écran en gros plan donc c'est plutot pas mal : http://lacombe.f1.free.fr/detailSynoptiqueRTE2.bmp

Merci a tous
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
31 déc. 2005 à 12:53
Aucun probleme... Mais seulement il faudra un peu prendre ton mal en patiente car si j'y passe mes journées (yen a vraiement ki n'ont rien a faire!) maintenent, a la reprise des cours, ce sera surement mes soirées mais c'est un formidable jeu de patience (car il faut nommer chacun des clips et tout...) et la j'en suis bien a la moitiée du réseau et je pense la poster avec seulement un programateur manuel pour commencer et dans un deuxieme temps, preposer un selecteur d'aléas automatique.
Je suis en train de faire un sim city a ma sauce lol!

A! aussi j'alais oublier... RTE ne voulant pas me répondre et TF1 n'ayant survolé qu'une infime partie de la synoptique, comment pourrait-on savoir le sens des fleches sur les circuits? les fleches sont représentées en vert (sous forme de taches sur les traits bleus) ainsi que les numero des circuits, point orangés comme les fleches.
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
2 janv. 2006 à 08:35
Dsl d'arriver un peu tard, mais:



un clip "Groupe_ligne_1" et tu mets juste tes clips dedans sans les
nommer! Tu peux accéder à tous les clips contenus avec un "for(elt in
Groupe_ligne_1){trace(Groupe_ligne_1[elt]._name);}"



Sinon, dans Flash 8 tu as une option qui permet d'éviter le redimensionnement de l'épaisseur des traits! C'est super pratique!



@+! Samy
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
2 janv. 2006 à 08:47
c'est vrai? delire... et comment fait on? j'suis nul de pas avoir vu ca!


Peace from Mars
to all human beings

hIpS!
0
cs_fanfouer Messages postés 209 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 janvier 2008
2 janv. 2006 à 10:46
Effectivement j'aimerai bien voir cette option parce que j'ai tout de meme été obligé de dessiner mes formes sous forme de formes pleines et ca ne colle pas toujours a l'épaisseur des traits. Ou est cette option?

Autrement, merci samy mais il ne me reste plus que 1/8 du plan a faire et je n'ai pas l'intention de tout renomer parce que c'est très pénible...
La source devrait tomber en fin de semaine prochaine avec un controle des sectionneurs manuel. Viendra ensuite l'automatique.
0
Rejoignez-nous