Просмотр полной версии : движение группы объектов за мышью
Помогите, пожалуйста, впарился из-за мелочи..
мне нужно сделать чтобы группа объектов двигалась за мышью как изображено на приаттаченном рисунке.
пока ничего кроме как ...
this.onEnterFrame = function (){
mc1._x = mc1._x + (_xmouse - mc1._x) / 15;
mc1._y = mc1._y + (_ymouse - mc1._y) / 15;
mc2._x = mc2._x + (_xmouse - mc2._x) / 10;
mc2._y = mc2._y + (_ymouse - mc2._y) / 10;
mc3._x = mc3._x + (_xmouse - mc3._x) / 5;
mc3._y = mc3._y + (_ymouse - mc3._y) / 5;
}
... сообразить не смог :confused:
но это совсем не то.
приложил исходник на всякий случай
Alex_beginner
22.07.2008, 15:03
Здравствуйте mayday! Был бы очень признателен если бы Вы выложили файл в формате Flash8.
Здравствуйте mayday! Был бы очень признателен если бы Вы выложили файл в формате Flash8.
обновил первый пост.
спасибо.
Alex_beginner
22.07.2008, 15:13
mayday! Посмотрел исходник, идентифицировать проблему не смог. Можно рассказать по-подробнее.
надо сделать чтобы прямоугольники двигались за мышкой как показано на картинке в первом посте.. как бы такое "слежение за курсором" .. даже не знаю как нормально это объяснить )
код, который у меня, он неправильный.
Alex_beginner
22.07.2008, 15:27
Я думаю для определения проблемы недостаточно одной картинки. Предлагаю изложить проблему детально, по пунктам и желательно с определенными условиями динамики движения. Ну например, объекты должны двигаться за мышью на сокращая расстояние между объектами менее некоей величины.
Потом, если есть готовый пример такого слежения (скажем сайт или прога какая!) лучше его показать, потому что один раз увидеть, лучше, чем 100 раз услышать.
лучше его показать, потому что один раз увидеть, лучше, чем 100 раз услышать.
во! :)
Alex_beginner
22.07.2008, 15:52
Вот теперь понятно. Буду думать.
crazyone
22.07.2008, 17:12
Что-то типа:
var cx=250;
var cy=125;
var mcs=new Array(mc1,mc2,mc3);
this.onEnterFrame = function (){
var dx=cx-Math.abs(_xmouse-cx);
var dy=cy-Math.abs(_ymouse-cy);
ddx=dx/(mcs.length+1);
ddy=dy/(mcs.length+1);
for(var i=0; i<mcs.length; i++){
if(_xmouse<cx){
mcs[i].fx=mcs[i]._width/2+ddx*(i+1);
}else{
mcs[i].fx=Stage.width-mcs[i]._width/2-ddx*(i+1);
}
if(_ymouse<cy){
mcs[i].fy=mcs[i]._height/2+ddy*(i+1);
}else{
mcs[i].fy=Stage.height-mcs[i]._height/2-ddy*(i+1);
}
mcs[i]._x+=(mcs[i].fx-mcs[i]._x)/5;
mcs[i]._y+=(mcs[i].fy-mcs[i]._y)/5;
}
}
всем спасибо большое!
crazyone, а как сделать "границы", внутри которых происходил бы этот экшен ?
грубо говоря, есть прямоугольник размером скажем 500 на 250.. и если курсор выходит за его пределы, то прямоугольники прекращают слежение.
UPD: а, все, сообразил :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.