Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 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 равны нулю? Ведь не должны!

Старый 30.04.2004, 18:50
mishinaelle вне форума Посмотреть профиль Отправить личное сообщение для mishinaelle Посетить домашнюю страницу mishinaelle Найти все сообщения от mishinaelle
  № 2  
mishinaelle
 
Аватар для mishinaelle

Регистрация: Mar 2003
Адрес: Moscow
Сообщений: 669
Отправить сообщение для mishinaelle с помощью ICQ
ты в качестве параметра функции передаешь значение переменной, а надо передавать ссылку на переменную.

Старый 30.04.2004, 18:59
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
asteroid.onEnterFrame = function() {
tempSpeedX= attrForceX(_root.planet1, tempSpeedX);
tempspeedY= attrForceY(_root.planet1, tempspeedY);
moveAsteroid(tempSpeedX, tempSpeedY);
trace (tempSpeedX + " " + tempSpeedY);
}

Старый 30.04.2004, 19:11
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
а надо передавать ссылку на переменную
а можно ли на нумбер организовать ссылку?..


Последний раз редактировалось silin; 30.04.2004 в 19:14.
Старый 30.04.2004, 19:23
mishinaelle вне форума Посмотреть профиль Отправить личное сообщение для mishinaelle Посетить домашнюю страницу mishinaelle Найти все сообщения от mishinaelle
  № 5  
mishinaelle
 
Аватар для mishinaelle

Регистрация: Mar 2003
Адрес: Moscow
Сообщений: 669
Отправить сообщение для mishinaelle с помощью ICQ
можно сделать переменные объектами Number - тады они будут по ссылке передаваться(может я с этим гоню )
а можно не передавать их в качестве параметра, а дергать изнутри функции напрямую

Старый 30.04.2004, 19:29
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
не передаются (попробывал), а вот второе поскладнее будет

Старый 01.05.2004, 03:33
Malax вне форума Посмотреть профиль Отправить личное сообщение для Malax Найти все сообщения от Malax
  № 7  
Malax

Регистрация: Jul 2003
Адрес: Владивосток
Сообщений: 35
Отправить сообщение для Malax с помощью ICQ
Точно, блин. Спасибо!

Создать новую тему   Часовой пояс GMT +4, время: 08:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:41.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.