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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.12.2008, 19:38
Haiat вне форума Посмотреть профиль Отправить личное сообщение для Haiat Найти все сообщения от Haiat
  № 11  
Ответить с цитированием
Haiat
[+6 09.06.11]
 
Аватар для Haiat

Регистрация: May 2007
Сообщений: 721
Скинь сразу плиз сюда
если что мой мейл aidar.haiatov@gmail.com
интерестно как ты это реализовываешь.
спасибо
__________________
www.haiatov.ru

Старый 24.12.2008, 19:43
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 12  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
По-моему еще у Гурского подробно разбирается. Там надо было типа иголкой в шарик попасть, а шарики разбегались. Смысл абсолютно тот же.
__________________
Reality.getBounds(this);

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
2 ХАЯТ
Сори, пока никак не реализовываю... =)
начал, закончить времени щас просто нету - сессия =) как всегда внезапно и неожиданно

вот что нашевелил тут:
Код AS1/AS2:
var pushForce = 0.1; // коэффициент на который умножается скорость
var easingDegree = -2;// степень ослабления силы с расстоянием
var freeAccel = 1;// замедление скорости
var coordsX = [100, 540, 540, 100, 320];
var coordsY = [100, 100, 380, 380, 240];
var balls = [];
for (i=0; i<5; i++) {
	this.attachMovie("ball","ball_"+i,this.getNextHighestDepth());
	balls.push(this["ball_"+i]);
	balls[i]._x = coordsX[i];
	balls[i]._y = coordsY[i];
	balls[i].onDrag = false;
	balls[i].speedX = 0;
	balls[i].speedY = 0;
	balls[i].onPress = function() {
		this.onDrag = true;
	};
	balls[i].onRelease = function() {
		this.onDrag = false;
	};
	balls[i].onReleaseOutside = function() {
		this.onDrag = false;
	};
}
function getForces(mc:MovieClip) {
	mc.forceX = 0;
	mc.forceY = 0;
	for (i=0; i<balls.length; i++) {
		if (balls[i] != mc) {
			mc.forceX += mc._x-balls[i]._x;
			mc.forceY += mc._y-balls[i]._y;
		}
	}
}
function getSpeeds(mc:MovieClip) {
	mc.speedX = Math.pow(mc.forceX, easingDegree)*pushForce;
	var absSpeedX = Math.abs(mc.speedX);
	if (absSpeedX<freeAccel) {
		mc.speedX = 0;
	} else {
		mc.speedX -= mc.speedX/absSpeedX;
	}
	mc.speedY = Math.pow(mc.forceY, easingDegree)*pushForce;
	var absSpeedY = Math.abs(mc.speedY);
	if (absSpeedY<freeAccel) {
		mc.speedY = 0;
	} else {
		mc.speedY -= mc.speedY/absSpeedY;
	}
}
this.onEnterFrame = function() {
	for (i=0; i<balls.length; i++) {
		getForces(balls[i]);
		getSpeeds(balls[i]);
		balls[i]._x += balls[i].speedX;
		balls[i]._y += balls[i].speedY;
	}
};
ЗЫ
по-моему тут ничо не работает...=)
начинал когда тема создавалась - а вообще посмотри, там ерунду какую-то исправить осталось
Но это - только то что касается отталкивания на растоянии. Как с магнитами, которые одинаковыми полюсами друг к другу подносят. Если нужно с пересечениями - то в принципе похожим образом тоже можно. Если что прошу не обижаться, я правда не виноват=) потом еще поковыряюсь
__________________
...вселенская грусть

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

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

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


 


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


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