PDA

Просмотр полной версии : прилипание


Futs
14.07.2005, 17:24
Как можно сделать как бы прилипание края одного мувика к краю другого, т.е. если один тащим к другому и растояние меньше чем n, то прилипаем?

mr<Xepypr>
14.07.2005, 18:14
n = 15;
dis_x = mc1._x+mc1._width-mc2._x;
dis_y = mc1._y+mc1._height-mc2._y;
//(если начало координат - левый верхний угол)
if (n<=abs(dis_x && mc1.drag)) {mc1._x = mc2._x+mc2._width;}
if (n<=abs(dis_x && mc2.drag)) {mc2._x = mc1._x+mc1._width;}
if (n<=abs(dis_y && mc1.drag)) {mc1._x = mc2._y+mc2._height;}
if (n<=abs(dis_y && mc2.drag)) {mc2._x = mc1._y+mc1._height;}

Futs
15.07.2005, 11:50
какой-то очень странный код, или это шифр?

TERRORist
15.07.2005, 12:21
Это старинное шаманское заклинание. Читать при луне в пятницу.
вместо if (n<=abs(dis_x && mc1.drag)) {mc1._x = mc2._x+mc2._width;} я бы написал:

if (n<=abs(dis_x && mc1.drag)) mc1._x = mc2._x+mc2._width

KUZEN
15.07.2005, 13:01
зато места мало занимает ... оптимизация кода так сказать ...

Futs
15.07.2005, 13:50
смешно, я говорю, о работе данного скрипта

KUZEN
15.07.2005, 13:58
здарова серёга ...
работу не проверял поэтому и смешно ... :-)))

Futs
15.07.2005, 14:16
а я проверял, где прилипание не пойму

TERRORist
15.07.2005, 14:52
Вот правильный вариант, протестил:

onClipEvent (load) {
var X,Y,D,minD
}
onClipEvent (enterFrame) {
_x=_root._xmouse
_y=_root._ymouse
minD=30//расстояние до залипания
X=_root.mc1._x
Y=_root.mc1._y
D=Math.sqrt(Math.pow(X-_x,2)+Math.pow(Y-_y,2))
if(D<minD)_x=X,_y=Y
}

Futs
15.07.2005, 15:00
спасибо, а как сделать прилипание к краю, к тому же объект неровный.
у гурского есть примерчик, но там реализовано на движении, а для моей ситуации пока не выходит, буду разбираться

TERRORist
15.07.2005, 15:18
спасибо, а как сделать прилипание к краю, к тому же объект неровный.
у гурского есть примерчик, но там реализовано на движении, а для моей ситуации пока не выходит, буду разбираться

О-о, это нелегко. Скажи какой у тебя формы объект с краем для залипания?

Futs
15.07.2005, 15:33
я тут подумал, по моему проще сделать чтобы клип не выходил за пределы HITa, а какой ты имеешь ввиду объект, если тот который таскается, то он может вполне быть круглым, а HIT из прямоугольников

TERRORist
15.07.2005, 15:48
тебе виднее.

Futs
15.07.2005, 16:20
Вот спасибо Гурскому, хотелось бы, что бы если мыша ушла из HITa мувик стремился бы к краю, и исчезал если мыша далеко, а так если мышой быстро двинуть он не успевает