Показать сообщение отдельно
Старый 30.04.2004, 16:51
Malax вне форума Посмотреть профиль Отправить личное сообщение для Malax Найти все сообщения от Malax
  № 1  
Malax

Регистрация: Jul 2003
Адрес: Владивосток
Сообщений: 35
Отправить сообщение для Malax с помощью ICQ
По умолчанию Где ошибка?

Ничего не понимаю !
Подскажите, где я ошибку допустил? Или что я не учел?
фильм состоит из 1 кадра, на нем 2 объекта, которые называются asteroid и planet1 и код:

==============================================
asteroid.mass = 20;
planet1.mass = 100;
tempSpeedX = 0;
tempSpeedY = 0;
attrForceX = function(planetName, tempSpeedX) {
var factor1;
distance = Math.sqrt(Math.pow(asteroid._x-planetName._x, 2) + Math.pow(asteroid._y -

planetName._y, 2));
force = Number(_root.asteroid.mass)*Number(planetName.mass)/Math.pow(distance, 2);
factor1 = force/distance;
if (tempSpeedX >= 0 and _root.asteroid._x < planetName._x) {
tempSpeedX += (planetName._x - _root.asteroid._x)*factor1;
return tempSpeedX;
}
else if (tempSpeedX >=0 and _root.asteroid._x > planetName._x) {
tempSpeedX -= (_root.asteroid._x-planetName._x)*factor1;
return tempSpeedX;
}
else if (tempSpeedX < 0 and _root.asteroid._x < planetName._x) {
tempSpeedX += (planetName._x-_root.asteroid._x)*factor1;
return tempSpeedX;
}
else {
tempSpeedX -= (_root.asteroid._x-planetName._x)*factor1;
return tempSpeedX;
}
}
attrForceY = function (planetName, tempSpeedY) {
var factor1;
distance = Math.sqrt(Math.pow(asteroid._x-planetName._x, 2) + Math.pow(asteroid._y -

planetName._y, 2));
force = asteroid.mass*planetName.mass/Math.pow(distance, 2);
factor1 = force/distance;
if (tempSpeedY >= 0 and _root.asteroid._y <= planetName._y) {
tempSpeedY += (planetName._y-_root.asteroid._y)*factor1;
return tempSpeedY;
}
else if (tempSpeedY < 0 and _root.asteroid._y < planetName._y) {
tempSpeedY += (planetName._y-_root.asteroid._y)*factor1;
return tempSpeedY;
}
else if (tempSpeedY >= 0 and _root.asteroid._y > planetName._y) {
tempSpeedY -= (_root.asteroid._y-planetName._y)*factor1;
return tempSpeedY;
}
else {
tempSpeedY -= (_root.asteroid._y-planetName._y)*factor1;
return tempSpeedY;
}
}
moveAsteroid = function (xSpeed, ySpeed) {
_root.asteroid._x += xSpeed;
_root.asteroid._y += ySpeed;
}
asteroid.onEnterFrame = function() {
attrForceX(_root.planet1, tempSpeedX);
attrForceY(_root.planet1, tempspeedY);
moveAsteroid(tempSpeedX, tempSpeedY);
trace (tempSpeedX + " " + tempSpeedY);
}

==============================================
Дык, вот чего я не могу понять, так это почему трейс показывает, что переменные tempSpeedX и

tempSpeedY равны нулю? Ведь не должны!