![]() |
|
||||||||||
|
|||||
|
[+6 09.06.11]
Регистрация: May 2007
Сообщений: 721
|
Скинь сразу плиз сюда
если что мой мейл aidar.haiatov@gmail.com интерестно как ты это реализовываешь. спасибо
__________________
www.haiatov.ru |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
По-моему еще у Гурского подробно разбирается. Там надо было типа иголкой в шарик попасть, а шарики разбегались. Смысл абсолютно тот же.
__________________
Reality.getBounds(this); |
|
|||||
|
2 ХАЯТ
Сори, пока никак не реализовываю... =) начал, закончить времени щас просто нету - сессия =) как всегда внезапно и неожиданно вот что нашевелил тут: 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. |
|
|
« Предыдущая тема | Следующая тема » |
|
|