aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009
-
19 févr. 2005 à 10:24
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009
-
20 févr. 2005 à 10:54
slt.
g vraiment du mal.
après les pbs de variables, les pbs de non affichage, et les pbs de lignes non exécutées (finalement résolus en les supprimant et en retapant exactement la meme chose), il me reste encore 2pbs:
-flash mx semble considérer que le point (0,0) se trouve non pas dans le coin de l'image, mais quelque part au dessus, à un endroit que j'estimerais à (150,-100) ou quelquechose comme ça.
-j'ai mis une longue formule mathématique, et au momant de vérifier le code, il m'affiche:
**Erreur** Séquence Séquence 1, calque Calque 1, image = 1 :Ligne 30 : ')' attendu
_root["a"+i] += Math.abs((((1,9891×10^30*m1*m)/(((_root["point"+i]._x-300)*1.5^8)^2))*6.67*10^-11)/(0.5mv^2))+Math.abs((((1,9891×10^30*m2*m)/(((d-(_root["point"+i]._x-300))*1.5^8)^2))*6.67*10^-11)/(0.5mv^2));
Total des erreurs ActionScript : 1 Erreurs signalées : 1
si je comprends bien, il manque une parenthese fermante. mais après les avoir recomptées plusieurs fois, je ne trouve pas qu'il en manque. existe-t-il une fonction de flash mx permettant de savoir quelle est la parenthese ouvrante correspondante???
le plus bizarre, c'est que juste en dessous, j'ai une formule similaire, faite avec un copier-coller de celle-ci, et qu'il n'y trouve pas d'erreur!(sauf que les x sont remplacées par des y et les a par des b)
ozitoun
Messages postés115Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention25 mars 2008 19 févr. 2005 à 11:26
pour l'histoire du point(0,0) c'est "normal"
en fait pour la racine _root de ton anim (0,0) se trouve bien en haut à gauche. Mais dés que tu es dans un movieclip, ton (0,0) se trouve là où tu l'as mis. Quant tu entre dans un movieclip il y a toujours une toute petite croix, le point de réf&érence du movieclip... et qui correspont aux coordonnées (0,0) du movieclip et de tout ce qui est dedans !
je continue à jetter un oeil pour l'histoire des parenthèses et te tiens au courant si je trouve qlqchose
MrdJack
Messages postés146Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention 8 mars 20082 19 févr. 2005 à 19:14
salut aze...
j'ai trouvé des petites erreurs qui t'aurait posées probleme par la suite...
il s'agit de la division par (0.5mv^2) : là flash va comprendre
que tu parles de la variable mv et non pas 0.5*m*v^2 (détail qui fait
la différence !!!)
autre chose : lorsque tu fait des for :
il est plutot conseillé de mettre "i<<nb_points" à la place de
"i<nb_points" car dans les comparaisons( if, for et while),
l'element de comparaison est toujours double ( "= =", "<=",">=",
"!=", "<<" ou ">>")
sinon pour le (0,0) je viens d'avoir une idée :
dans ton dessin pour un point, veilles bien à ce que ton dessin du
point soit bien placé en (0,0) du clip. car si le point est pas en
(0,0), toute l'anim est décalée et ca donne l'impression que le (0,0)
du swf est ailleur. vérifie ca au cas ou....
sinon pour la parenthese, je te conseille de la redécomposer en opérations simples afin de mieux voir d'ou viens le probleme
ozitoun
Messages postés115Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention25 mars 2008 19 févr. 2005 à 10:54
effectivement ton nombre de parenthèses est la bonne... ça voudrais donc dire que dans le reste de ton action script de cette image il y a en amont une parenthèse ouverte qui n'est pas refermée
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 19 févr. 2005 à 11:14
merci.
je commençais à m'inquiéter sur ma capaciter à compter les parentheses.
j'ai regardé tout le script, et je n'ai pas trouvé de parenthese en trop.
voila le script entier:
var nb_points = 400;
var m1 = 1; //masse de la 1ere étoile en Mo
var m2 = 5; //masse de la 2eme étoile en Mo
var d = 100; //distance entre les 2 étoiles en Ua
var m = 6.65*10^.24; //masse d'un He, en Kg
var v = 10000; //vitesse d'éjection du gaz en m.s-1
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<nb_points;i++) {
_root["point"+i]._x = 300; //position en x
_root["point"+i]._y = 300; //position en y
}
setInterval(reposition, 50);
function reposition() {
for(var i=0;i<nb_points;i++) {
_root["point"+i]._x += _root["a"+i]; //position en x
_root["point"+i]._y += _root["b"+i]; //position en y
}
for(var i=0;i<nb_points;i++) {
_root["a"+i] += Math.abs((((1,9891×10^30*m1*m)/(((_root["point"+i]._x-300)*1.5^8)^2))*6.67*10^-11)/(0.5mv^2))+Math.abs((((1,9891×10^30*m2*m)/(((d-(_root["point"+i]._x-300))*1.5^8)^2))*6.67*10^-11)/(0.5mv^2));
_root["b"+i] += Math.abs((((1,9891×10^30*m1*m)/(((_root["point"+i]._y-300)*1.5^8)^2))*6.67*10^-11)/(0.5mv^2))+Math.abs((((1,9891×10^30*m2*m)/(((_root["point"+i]._y-300)*1.5^8)^2))*6.67*10^-11)/(0.5mv^2));
}
}
sinon, sais tu qqch pour mon pb de point (0,0) en dehors de l'image?
Vous n’avez pas trouvé la réponse que vous recherchez ?
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 19 févr. 2005 à 22:12
ben j'ai fait ça, je ne sait pas si c'est ce que tu voulais dire:
var pm = 1.9891*10^30*m1*m;
var d2 = ((_root["point"+i]._x-300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm/d2);
var ec = 0.5*m*v^2;
var f1 = g/ec;
var pm = 1.9891*10^30*m2*m;
var d2 = ((d-_root["point"+i]._x+300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm2/d2);
var ec = 0.5*m*v^2;
var f2 = g/ec;
_root["a"+i] += Math.abs(f1)+Math.abs(f2);
var pm = 1.9891*10^30*m1*m;
var d2 = ((_root["point"+i]._y-300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm/d2);
var ec = 0.5*m*v^2;
var f1 = g/ec;
var pm = 1.9891*10^30*m2*m;
var d2 = ((_root["point"+i]._y-300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm/d2);
var ec = 0.5*m*v^2;
var f2 = g/ec;
_root["b"+i] += Math.abs(f1)+Math.abs(f2);
maintenant, flash mx n'ose plus trouver d'erreurs (il a peur que je le tape tellment j'e, ai mare)
mais plus rien ne s'affiche.
bouhouhouh.
est-ce du au grand nombre de commandes (maintenant, ça doit être assez long a executer)?
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 19 févr. 2005 à 22:12
ben j'ai fait ça, je ne sait pas si c'est ce que tu voulais dire:
var pm = 1.9891*10^30*m1*m;
var d2 = ((_root["point"+i]._x-300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm/d2);
var ec = 0.5*m*v^2;
var f1 = g/ec;
var pm = 1.9891*10^30*m2*m;
var d2 = ((d-_root["point"+i]._x+300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm2/d2);
var ec = 0.5*m*v^2;
var f2 = g/ec;
_root["a"+i] += Math.abs(f1)+Math.abs(f2);
var pm = 1.9891*10^30*m1*m;
var d2 = ((_root["point"+i]._y-300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm/d2);
var ec = 0.5*m*v^2;
var f1 = g/ec;
var pm = 1.9891*10^30*m2*m;
var d2 = ((_root["point"+i]._y-300)*1.5^8)^2;
var g = (6.67*10^-11)*(pm/d2);
var ec = 0.5*m*v^2;
var f2 = g/ec;
_root["b"+i] += Math.abs(f1)+Math.abs(f2);
maintenant, flash mx n'ose plus trouver d'erreurs (il a peur que je le tape tellment j'e, ai mare)
mais plus rien ne s'affiche.
bouhouhouh.
est-ce du au grand nombre de commandes (maintenant, ça doit être assez long a executer)?
MrdJack
Messages postés146Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention 8 mars 20082 20 févr. 2005 à 00:02
dsl aze,
je ne voukais dire décomposer a ce point,
là il est clair que ca ne marche pas car le calcul doit etre fait
entierement dans la fonction reposition(). là flash ne peut pas
calculer F1 et F2 car beaucoup de variable lui sont inconues (elle sont
utilisables seulement dans la fonction reposition()
je m'explique : il est clair que ca donne de lourds calculs et le
diviser en deux trois lignes pour voir d'où viendrait l'erreur serait
pas trop mal....
par exemple j'ai vu que le calcul est constitué d'une somme de 2 Math.abs().
ce que je veux dire c'est que tu pourrais décomposer simplement tes
calculs comme ceci (sans trop abuser pour que ca tourne bien) et voir
pour chaque calcul effectué si ca va bien avec la fonction trace() pour
vérifier
ou encore comme la seule chose qui change entre les deux parties de
l'equation est seulement la masse, pourquoi ne pas faire une
factorisation ( ca alègerait les calculs et par la meme occasion le
temps d'execution