ActionScript & Guide de Mouvement (multiples)

phentex Messages postés 27 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 juillet 2005 - 22 juin 2005 à 16:26
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 - 23 juin 2005 à 11:42
Bonjour!

Je réalise une sorte de diagramme fonctionnel assez complexe avec de
nombreux composants créés dynamiquement en AS, d'après la lecture d'un
fichier xml.

Ce diagramme a pour but de décrire certains flux qui circulent entre ces composants.

Pour décrire graphiquement ces flux, je pense utiliser un petit clip
(genre une fleche ou une enveloppe) qui se déplace le long d'un
guide de mouvement.

Puisqu'il y a de nombreux composants, il y a de nombreux flux, et donc de nombreux guides.



Comment manipuler des guides de mouvements en ActionScript ? (je bosse sur la derniere version de Flash)

Si je dessine à la main dans l'environnement auteur (pas en
actionscript quoi) chaque guide de mouvement dans un calque séparer,
est il possible en ActionScript de par la suite manipuler ces calques
pour pouvoir en associer un quelconque en temps que guide de mouvement
à une occurence de mon petit clip (la fleche, l'enveloppe).

Est il par la suite possible de piloter le tout ?



Merci beaucoup d'avance



Cordialement,

Phentex

4 réponses

cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
22 juin 2005 à 22:28
Hmmm...j'avais déjà cherché (rapidement) un jour à le faire avec
ActionScript, mais j'avais rien trouvé...du coup j'avais fait 2 clips
avec 2 calques guide. 2 ça va, maintenant faut voir



-combien il t'en faut

-savoir si tes chemins seront toujours identiques (si c'est évolutif ou non)

-pourquoi prendre des guides au fait? c'est absolument
nécessaire? Suivre une courbe ou faire des trajectoires rectilignes?
Car si c'est rectiligne, tu peux aussi le coder en ActionScript...et là
tu pourrais même le faire dynamiquement

Exemple:T'as une grille de 9 cases 3*3. Tu pars d'en haut à gauche. Tu
attaches un clip "enveloppe" à 0,0. Tu déclares des variables (genre:
largeurCol=10; hauteurLig=20;...)

Et ensuite tu crées une fonction qui prendrait pour paramètre le point de destination



function(ligne,colonne){

var surX:Boolean=false;

var surY:Boolean=false;

enveloppe.destLigne=ligne;

enveloppe.destColonne=colonne;

enveloppe.onEnterFrame=function(){

if(this.destLigne*hauteurLig>this._y){

this._y++;

}else if(this.destLigne*hauteurLig<this._y){


this._y--;


}else{

surY=true;

}

if(this.destColonne*largeurCol>this._x){


this._x++;


}else if(this.destColonne*largeurCol<this._x){



this._x--;



}else{

surX=true;

}

if(surX = = true && surY = = true){

delete this.onEnterFrame;

}

}

}



Faudra stocker les propriétés colDest et ligDest pour chacun de tes
flux puis créer des boutons ou faire des setInterval pour mettre en
route le attachMovie et le lancement de la fonction.



Voilà...en espérant que ça t'aide! Bien sûr tu peux déclarer plus de
variables si tes colonnes sont pas toutes de même largeur, ... mais
bon, comme je connais pas précisément ton problème (et que j'ai
d'autres trucs à faire aussi! lol), j'allais pas coder dans le vide!
T'as déjà une bonne trame si tu pars sur cette voie.



@+! Samy
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
22 juin 2005 à 22:33
Ah oui...en passant, je serai curieux de voir les sources du truc fini
et le résultat si c'est possible (s'il faut donner un p'tit coup de
main pour y jeter un oeil...pourquoi pas...mais je garantis pas de
délais...emploi du temps chargé!)



Allez...dodo dure journée tomorrow!



@+!Samy
0
phentex Messages postés 27 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 juillet 2005
23 juin 2005 à 10:31
Merci beaucoup pour tes idées.

Pour donner une idée de la situation dans laquelle je me trouve, je
suis en stage et je dois réaliser une modélisation d'un diagramme
fonctionnel.



En gros, j'ai un certain nombre de composants fonctionnels, représentés
pour l'instant betement par un rectangle d'une certaine couleur (selon
le type du composant) qui contient un textfield contenant le nom du
composant.

Tous ces composants sont répartis sur un Bus de donnée (au cas ou tu
sais pas ce qu'est un bus : c'est une espece de route qui permet
l'echange de données entre les composants). Ce Bus est modélisé par un
rectangle allongé, très possiblement cassé (le rectangle allongé part
d'en bas à gauche, monte verticalement, puis fait un angle de 90° et
continue horizontalement jusqu'a en haut à droite -> une equerre
quoi).



Chaque composant Ci est "branché" sur le bus (le rectangle allongé en equerre donc) à une position posCi.



(Je tiens à rester très général, car un des critères de ma modélisation est d'être évolutive.)



Je dois modéliser N services.



Un service est constitué de P flux.



Un flux est un transit d'information entre un composant Cx vers un composant Cy.



Je souhaite modéliser un flux par un petit clip (ca peut etre une
fleche, une enveloppe, peu importe) se déplacant de posCx vers posCy, à l'intérieur du bus de donnée
(donc à l'intérieur du rectangle en angle), d'où la nécessité de guider
de facon précise le clip qui doit se balader d'un composant à un autre.



Si je pouvais éviter de me taper le tracé à la main de tous les guides
de mouvement entre chaque composant, ca serait un soulagement...

pour 10 composants, ca fait déja un paquet de tracés.

Je suis à la recherche d'une solution algorithmique, ca doit pas etre bien compliqué...

mais c'est prise de tete



Si tu as des conseils à me donner, mon bon ami, n'hésite surtout pas, je suis tout ouïe



@+ phentex
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
23 juin 2005 à 11:42
Je te les ai donné les conseils...je crois que tu peux oublier les
guides, pars plutôt vers un déplacement par ActionScript en t'inspirant
de l'exemple que je t'ai donné.



@+! Samy
0
Rejoignez-nous