aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009
-
16 févr. 2005 à 12:23
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009
-
16 févr. 2005 à 21:06
slt
voila mon pb: je veux afficher 400 points: point0 à point 399, ayant pour coordonnées a0 à a399 et b0 à b399.
j'utilise une boucle for pour modifier des variables, puis afficher les points aux coordonnées ainsi calculées. j'ai essayé ça:
var nb_points = 400;
for(var i=0;i<nb_points;i++){
var "a"+i = cos(i*3.1415926536/200)
var "b"+i = sin(i*3.1415926536/200)
}
normalement, après affichage des points aux coordonnées a et b, l'ensemble devrait ressembler à un cercle.
j'espérait que cette sinthaxe créerait 400 variables a0,a1,a2,....,a399 et 400 variables b0,b1,b2,....,b399. mais évidemment, flash ne veut pas de mon "identifiant" "a"+i, ni du "b"+i.
comment faut-il faire pour creer mes 400 variables a et mes 400 variables b
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 16 févr. 2005 à 13:16
merci, je vais essayer avec _root. pour ce qui est du rayon du cercle, je suis au courant, en faire, a et b sont les coordonnées d'un vecteur pour déplacer le point, et je les redéplace plusieurs fois de suite (en fait, c'est pour simuler l'extension d'une nébuleuse planétaire).
au fait: c koi la différence entre _root et mclip?dsl, j'y connait rien...
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 16 févr. 2005 à 15:21
merci.
ça à l'air de fonctionner avec _root .
Au fait, pour le rayon du cercle, je suis au courant, mais en fait, a et b correspondent à des coordonnées de vecteurs pour déplacer les points, que je recalcule à chaque instant pour redéplacer un peu le point : au bout de quelques secondes, ça devrait ressembler à quelquechose. (en fait, je charche à simuler l'extension d'une nébuleuse planétaire, perturbée par la masse d'une étoile double)
Vous n’avez pas trouvé la réponse que vous recherchez ?
for(var i=0;i<nb_points;i++) {
_root.attachMovie("point", "point"+i, i); //on duplique le symbole. Les points crées auront comme nom point0, point1,...
}
for(var i=0;i<np_points;i++){
_root["point"+i]._x = 300; //position en x
_root["point"+i]._y = 300; //position en y
}
setInterval(reposition, 500); //appelle la fonction reposition toutes les secondes = 1000 millisecondes
function reposition() {
for(var i=0;i<nb_points;i++) {
_root["point"+i]._x = _root["point"+i]._x+_root["a"+i]; //position en x
_root["point"+i]._y = _root["point"+i]._y+_root["b"+i]; //position en y
}
for(var i=0;i<nb_points;i++) {
//là un calcul pour additionner des vecteurs utilisant les variables m1 m2 et d
//de sorte à changer les varibles a0....b399, pour déplacer les points de façon différnente
// la fois suivante.
}
}
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 16 févr. 2005 à 18:43
il y a des erreurs dans ton code :
_root["a"+i] = cos(i*3.1415926536/200);
Il existe des méthodes MAth qui sont bien plus utiles que ce que tu utilises :
- Math.cos : car "Cos" tout seul est du Flash 5 et n'est plus recommandé actuellement
- Math.PI : qui donne la valeur de PI, plutôt que d'utiliser un nombre plus ou moins exacte ...