veles2008
17.09.2008, 18:59
Есть проблема. Нужно сделать мувик с перетаскиванием. Так чтобы можна было схватить объект и чтобы он прилипал в определённом месте. При этом если наводим не на то место и пускаем кнопку мышки объект возвращается на то место откуда был взят.
Всё перетаскивается, всё возвращается,но!
Если объект на который перетаскивается и перетаскиваемый находятся не на одном уровне, то перетаскиваемый липнит к тому который на уровне с ним.
См.картинку.
Первым должен стоять PRIVET, но при перетаскивании его на 1 он становится на 2. и т.д.
Что делать?
Код:
pr.onPress = function() {
start_x=this._x;
start_y=this._y;
this.startDrag();
};
pr.onRelease =function (){
this.stopDrag();
_checkCollision();
};
function _checkCollision() {
for (var i = 1; i<2; i++) {
if(pr.hitTest(this["place"+i])) {
pr._x = this["place"+i]._x;
pr._y = this["place"+i]._y;
}
else
pr._x=start_x;
pr._y=start_y;
}
}
pr - это название объекта PRIVET
place - название объекта рамочки
Всё перетаскивается, всё возвращается,но!
Если объект на который перетаскивается и перетаскиваемый находятся не на одном уровне, то перетаскиваемый липнит к тому который на уровне с ним.
См.картинку.
Первым должен стоять PRIVET, но при перетаскивании его на 1 он становится на 2. и т.д.
Что делать?
Код:
pr.onPress = function() {
start_x=this._x;
start_y=this._y;
this.startDrag();
};
pr.onRelease =function (){
this.stopDrag();
_checkCollision();
};
function _checkCollision() {
for (var i = 1; i<2; i++) {
if(pr.hitTest(this["place"+i])) {
pr._x = this["place"+i]._x;
pr._y = this["place"+i]._y;
}
else
pr._x=start_x;
pr._y=start_y;
}
}
pr - это название объекта PRIVET
place - название объекта рамочки