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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.06.2006, 17:43
Therion вне форума Посмотреть профиль Отправить личное сообщение для Therion Найти все сообщения от Therion
  № 1  
Ответить с цитированием
Therion
 
Аватар для Therion

Регистрация: Aug 2005
Сообщений: 785
По умолчанию Нахождение разницы расстояния между обьектами

Драсте.
помогите решить проблему, значит есть скрипт, который должен вырешивать разницу в расстоянии одного обьекта к двум другим.
вот собственно скрипт:
Код:
i=0
X=0
Y=0	
function fun(obj,e){
for(i;i<obj.length;i++){
		X+=(obj[i]._x-e._x)
		Y+=(obj[i]._y-e._y)}
		e._x+=X/2
		e._y+=Y/2
		trace(Y)
		}
_root.onEnterFrame=function(){
  fun([p1,p2],dd)
		}
после того как разница в растоянии вычеслена, обьект медленно должен становится посреди двух других(надеюсь я понятно выразился)
Так вот проблема в том, что расстояние вырешивается только один раз с самого начала и не вычесляется после передвежения обьекта.
Иными словами часть скрипта
Код:
for(i;i<obj.length;i++){
		X+=(obj[i]._x-e._x)
		Y+=(obj[i]._y-e._y)}
Выполняется только один раз,помогите как её зацыклить.
__________________
Нано-флешер (в отставке)


Последний раз редактировалось iNils; 04.06.2006 в 17:47.
Старый 04.06.2006, 18:00
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Тема закрыта до тех пор пока автор не пришлет мне в приват нормально название темы.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.06.2006, 18:16
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
function fun (obj, e) {
	var sx = (obj[0]._x - obj[1]._x) / 2 + obj[1]._x;
	var sy = (obj[0]._y - obj[1]._y) / 2 + obj[1]._y;
	var dx = (sx - e._x) / 10;
	var dy = (sy - e._y) / 10;
	e._x += dx;
	e._y += dy;
	if (Math.abs (dx) < 0.1 and Math.abs (dy) < 0.1) {
		return false;
	} else {
		return true;
	}
}
_root.onEnterFrame = function () {
	var flag = fun ([p1, p2], dd);
	if (!flag) {
		delete this.onEnterFrame;
	}
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.06.2006, 18:26
Therion вне форума Посмотреть профиль Отправить личное сообщение для Therion Найти все сообщения от Therion
  № 4  
Ответить с цитированием
Therion
 
Аватар для Therion

Регистрация: Aug 2005
Сообщений: 785
Гениально, спасибо
P.S.
А зачем писать "var"? Без него ведь тоже все работает...
__________________
Нано-флешер (в отставке)


Последний раз редактировалось Therion; 04.06.2006 в 18:29.
Старый 04.06.2006, 18:33
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 5  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
написав var мы определили что flag это локальная переменная метода onEnterFrame, таким образом она сама уничтожается когда больше не нужна.
Так же без var переменная сохраниться в _root. зачем лишнее потребление памяти?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 04.06.2006, 18:38
Therion вне форума Посмотреть профиль Отправить личное сообщение для Therion Найти все сообщения от Therion
  № 6  
Ответить с цитированием
Therion
 
Аватар для Therion

Регистрация: Aug 2005
Сообщений: 785
хм, а как сделать перемещение обьекта в центр между тремя или более обьектами?
__________________
Нано-флешер (в отставке)

Старый 04.06.2006, 19:08
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
function fun (obj, e) {
	var x = 0;
	var y = 0;
	for (var i = 0; i < obj.length; i++) {
		x += obj[i]._x;
		y += obj[i]._y;
	}
	x /= (obj.length);
	y /= (obj.length);
	var dx = (x - e._x) / 10;
	var dy = (y - e._y) / 10;
	e._x += dx;
	e._y += dy;
	if (Math.abs (dx) < 0.1 and Math.abs (dy) < 0.1) {
		return false;
	} else {
		return true;
	}
}
_root.onEnterFrame = function () {
	var flag = fun ([p1, p2, p3, p4, p5], dd);
	if (!flag) {
		delete this.onEnterFrame;
	}
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 04.06.2006, 20:18
Therion вне форума Посмотреть профиль Отправить личное сообщение для Therion Найти все сообщения от Therion
  № 8  
Ответить с цитированием
Therion
 
Аватар для Therion

Регистрация: Aug 2005
Сообщений: 785
Во,супер...
Низкий тебе поклон
__________________
Нано-флешер (в отставке)

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

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

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


 


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


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