PDA

Просмотр полной версии : Следовать за мышкой


Countach
25.12.2001, 21:33
Драсте! Тут такая проблема, что-то никак не соображу как сделать то :(
Вообщем надо чтобы мувик следовал за мышкой НО не резко а плавно летал за ней :)

Вот никак не пойму принцип :(, люди скажите или если не сильно в лом, то поправьте исходник, это должно быть оч просто, но застрял

ЗЫ в исходниках смотрел этого не нашел :)
люди вы моя последняя надежда :)

John Connor
25.12.2001, 22:20
на скорую руку - убегаю домой! =)

Countach
25.12.2001, 23:10
Блин, огромнейшее тебе спасибо, я просто даже растерян от простоты исполнения, но так и не сильно понял, как же это работает то так.
Люди объясните пожалуйста, будьте снисходительны, ваще же не понял умора :(

onClipEvent (enterFrame) {
_x = (_x*5+_root._xmouse)/6;
_y = (_y*5+_root._ymouse)/6;
}


1. Почему onClipEvent (enterFrame), а не просто без этого, зачем он здесь нужен?? :confused:

2. _x = (_x*5+_root._xmouse)/6; - :) как это работает
_х (позиция феи)=(равняется) ???????

Вот чё это например - _x*5

RFMitrio
26.12.2001, 00:51
on[enterFrame]-чтоб работало как в цикле ( здесь нельзя организовывать бесконечный цикл for(;;) как в си, поэтому привязываем работу скрипта к клипу, чтобы это событие происходило с частотой кадров - именно это делает enterFrame )
_x*5 - абсцисса умножить на 5 и все! Я не понял, зачем именно такое выражение ( исходник не смотрел), но раз так надо, так надо :) :)

Countach
26.12.2001, 01:53
onClipEvent (enterFrame)

EQUAL

i=1;
for(k=0; k<i; ) { ... }


Но тока приминимо непосредственно к акшонам мувика??? Вот еще вопрос? Если у меня стоит 24fps, то как часто этот луп будет исполнятся??? CPU speed??? nope i don't think so :(


_x*5 - абсцисса умножить на 5 и все!

не ну это я понял, просто нафиг это делать?? Ваще хотелось бы детально в этом разобраться :)
Народ помогите плиз :)

ish
26.12.2001, 02:14
2Countach сорри, но ты хелп то вобще к флэшу читал?
onClipEvent(event) {
// place your code here
}

обработчик событий мувика
в данном, частном случае
onClipEvent(enterFrame) {
// your code
}
, `уоur code` будет выпонятся каждый раз когда плэйер будет переходит на фрейм, а делает он это согласно установке fps, то бишь если стоит 12fps код будет выполнятся 12 раз в секунду (теоритически) и тп.

Countach
26.12.2001, 02:36
Иш пасибо все понял :)
Хелп не читал, сори времени ваще ни фига не было, хоть через недельку гляну что там к чему
Просто раньше с такой фигней не сталкивался :) а тут оч срочно было, но спасибо всем кто помог ;)

Rishat
26.12.2001, 03:40
На счёт цифр: число, на которое делишь, всегда должно быть больше на единицу числа, на которое умножаешь
Это что-то типа геометрической прогрессии насколько я помню математику
Т.е. если соблюдать вышеизложенное правило то координаты какого-то графического объекта и координаты курсора мышки в конечном итоге будут равны.
Если эти числа увеличивать, соблюдая при этом разницу в единицу между ними, ты просто будешь замедлять полёт своей бабочки.

vol
26.12.2001, 11:31
Уильям Б. выложил целый урок на эту тему - "... и о прочих зверях флэшевого зоопарка".

Countach
26.12.2001, 16:02
Ребят всем пасиба, вчера был абсолютно никакой, типа рождество было :) во
Седня как глянул чё спрашивал аж блин стыдно стало, ну да ниче :)

ЗЫ как работает _x = (_x*5+_root._xmouse)/6;
если кому то понадобится и если кто-то не понял (хотя сомневаюсь :))
вообщем берем координату мувика- множим на 5 (мона и на другое число, там уже мона и поиграться с этим) + данная координата мыши (к ней и нуна лететь) / 6 - это и будет следущ координата мувика (она как правило на ЧУТОЧКУ больше предидушей)

Пример
данная координата мувика по Х = 100
а мышка переместилась на Х = 200
(100*5+200)/6=700/6=116,666666........

Отсюда следует, что с Х=100 мувик перемесится на Х=116,6666......
;)

Еще раз пасиба всем