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

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

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

Регистрация: Nov 2006
Сообщений: 9
Cool как мне описать физическое явление как магнетизм?

Помогите пожалуйста!
как мне описать физическое явление как магнетизм?
у меня есть два объекта: движущийся шар и статический квадрат.Шар имеет положительную полярность.Квадрат может иметь два состояния и некоторую область, при попадании в которую происходят следующие события: 1)когда он положительно поляризован(в этом случае шар отталкивается от квадрата) и 2)отрицательно поляризован(соответственно притягивается)
если есть какие идеи присылайте!
Заранее благодарен!

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

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Между прочим, квадратный магнит создаст нетривиальный градиент магнитного поля вокруг, лучше взять ещё один шар
А если принебречь формой, то это будет просто сила, обратно пропорциональная кварату расстояния между центрами предметов.
Т.е. надо либо v+=k/((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0)) либо v-=k/((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0)), главное - подобрать k, чтобы натурально смотрелось

В вашей школе совсем физики нет?
__________________
Верить никому нельзя. Мне - можно. :)

Старый 09.11.2006, 11:37
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 3  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Привет!
У меня не шары, но ... принцип тот же.
Второй пример с урока не высылаю, там сосвсем просто. Разноименные стороны притягиваются. Магнит верхний падает с ускорением. Нижний при сближении чуть подпрыгивает. Оба слипаются и падают с грохотом вниз. Всё!.
PS
В приложенном примере только основная часть и подпись оставлены.
Вложения
Тип файла: rar ginseng56.rar (22.0 Кб, 66 просмотров)

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

Регистрация: Aug 2005
Сообщений: 785
вот я сейчас этим и занимаюсь
пытаюсь сделать симулятор позитивных и негативных частиц
вроде пока получается, вот мой прогресс на сегодняшний день:
Код:
function G(me,obj1,obj2) {
	me.onEnterFrame=function(){
	for(i=0;i<obj1.length;i++){
	var dx = this._x - obj1[i]._x
	var dy = this._y - obj1[i]._y
	var D=Math.sqrt(dx*dx+dy*dy)
	var F=-100/D
	if(Math.abs(F)<0.1|D<20){
		F=0
	}
	if(D<5){
		me._x=+10
	}
	 angle = Math.atan2 (dy, dx);
		me._x -= Math.cos (angle) * F
		me._y -= Math.sin (angle) * F
	
}
    for(l=0;l<obj2.length;l++){
	var dx2 = this._x - obj2[l]._x
	var dy2 = this._y - obj2[l]._y
	var D2=Math.sqrt(dx2*dx2+dy2*dy2)
	var F2=100/D
	if(Math.abs(F2)<0.1|D2<20){
		F2=0
	}
	 angle2 = Math.atan2 (dy2, dx2);
		me._x -= Math.cos (angle2) * F2
		me._y -= Math.sin (angle2) * F2
	
}
где "me" это имя самого обьекта к которому относится функция G
"obj1"-это массив всех объектов от которых он отталкивается
"obj2"-массив объектов к которым он претягивается

тоесть если у нас есть негативные частички A1 и A2, и две позетивные частички B и B1, то функцию используем следуюшм образом:
Код:
G(A1,[A2],[B,B1])
G(A2,[A1],[B,B1])
G(B,[B1],[A1,A2])
G(B1,[ B],[A2,A1])
когда много частичек, то немного глючит, зато они строят интересные структуры в которых все силы сбалансированны.Код ещё нужно модернезировать, если кто захочет может помочь
__________________
Нано-флешер (в отставке)


Последний раз редактировалось Therion; 09.11.2006 в 14:05.
Старый 09.11.2006, 15:10
Rusteman вне форума Посмотреть профиль Отправить личное сообщение для Rusteman Найти все сообщения от Rusteman
  № 5  
Ответить с цитированием
Rusteman

Регистрация: Nov 2006
Сообщений: 9
Всем большое спасибо! конкретно помогли, наконец пошло продвижение в работе

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

Регистрация: Aug 2005
Сообщений: 785
внимание в коде страшная оппечатка!
Код:
function G(me,obj1,obj2) {
	me.onEnterFrame=function(){
	for(i=0;i<obj1.length;i++){
	var dx = this._x - obj1[i]._x
	var dy = this._y - obj1[i]._y
	var D=Math.sqrt(dx*dx+dy*dy)
	var F=-100/D
	if(Math.abs(F)<0.1|D<20){
		F=0
	}
	if(D<5){
		me._x=+10
	}
	 angle = Math.atan2 (dy, dx);
		me._x -= Math.cos (angle) * F
		me._y -= Math.sin (angle) * F
	
}
    for(l=0;l<obj2.length;l++){
	var dx2 = this._x - obj2[l]._x
	var dy2 = this._y - obj2[l]._y
	var D2=Math.sqrt(dx2*dx2+dy2*dy2)
	var F2=100/D2
	if(Math.abs(F2)<0.1|D2<20){
		F2=0
	}
	 angle2 = Math.atan2 (dy2, dx2);
		me._x -= Math.cos (angle2) * F2
		me._y -= Math.sin (angle2) * F2
	
}
__________________
Нано-флешер (в отставке)

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

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

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


 


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


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