Просмотр полной версии : Как разобраться с уровнями
Netter2007
01.03.2008, 22:51
Не хватает знаний чтобы решить следующую задачу:
На сцене несколько клипов, они все перекрываются.
Как сделать чтобы перетаскивать верхний в точке клика мыши. ?
Другими словами как получить имя экземпляра клипа который в конкретной точке верхний ?
Надеюсь на помощь
MovieCLip.getNextHighestDepth();
MovieClip.getInstanceAtDepth()
MovieClip.swapDepths()
Netter2007
01.03.2008, 23:39
А как узнать какой клип находится в момент нажатия под курсором ?
Сделать все клипы кнопками, самый верхний откликниться и назовет себя.
Netter2007
02.03.2008, 00:21
iNils - можно подробнее что значит откликнется и назовет ?
Для меня новая и важная задача, хочу разобраться
DarkLight
02.03.2008, 00:23
onPress/onRelease назначаем всем клипам. При нажатии на точку где несколько таких клипов, вызовется обработчик верхнего из них
Netter2007
02.03.2008, 00:27
Спасибо, до Вашего ответа я сам догадался, все просто, а казалось тяжело,
У меня на сцене куча клипов фото, и их нгадо таскать.
Рано обрадовался, запуталсы в двух соснах.
Мне надо чтобы таскалась одна кнопка а тащатся все которые на сцене, что не так ?
on (press) {
startDrag (this);
}
on (release) {
stopDrag ();
}
Я понимаю что я адресую весь root , но как сделат чтобы таскалась одна кнопка ?
Рано обрадовался, запуталсы в двух соснах.
Мне надо чтобы таскалась одна кнопка а тащатся все которые на сцене, что не так ?
on (press) {
startDrag (this);
}
on (release) {
stopDrag ();
}
Я понимаю что я адресую весь root , но как сделат чтобы таскалась одна кнопка ?
пртшлось все таки явно прописать имена вместо this
Текперь другая проблема,
когда таскаемая кнопка под другой кнопкой нельзя отпустить клип ?
Как быть ?
Как сделать чтобы кнопка отцеплялась когда она под другой кнопкой ?
chingachgoog
02.03.2008, 01:24
я бы вообще не использовал кнопочные события клипов, но раз вы уж начали, то откажитесь хотя бы от onRelease в пользу мышиного события onMouseUp
Netter2007
02.03.2008, 01:38
Крыша едет,
пдскажите код чтобы отцеплялась кнопка когда она под другой.
Netter2007 получает плюс за мультипостинг.
я бы вообще не использовал кнопочные события клиповФанат хиттеста?
Netter2007
02.03.2008, 02:00
Сделал сам, только кто обьяснит чайнику почему StopDrag прописаный для mc1 срабатывает и для mc2 ?
mc1.onMouseDown = function () {
startDrag (mc1);
};
mc2.onMouseDown = function () {
startDrag (mc2);
};
mc1.onMouseUp = function () {
stopDrag ();
};
Потому, что onMouseDown это события нажатия кнопки мыши. Вы где угодно можете ее нажать, и оно сработает.
mc1.onPress = function () {
this.startDrag ();
};
mc1.onRelease = function () {
this.stopDrag ();
};
mc1.onReleaseOutside = mc1.onRelease;
Netter2007
02.03.2008, 03:19
Когда mc1 под другим клипом - не всегда срабатывает, как можно получить стабильность, чтобы при отжатии клавиши пекреиаскивание прекращалась для всех клипов ?
...пекреиаскивание...
Чего?
Когда mc1 под другим клипом - не всегда срабатывает, как можно получить стабильность, чтобы при отжатии клавиши пекреиаскивание прекращалась для всех клипов ?
Вы строчку mc1.onReleaseOutside = mc1.onRelease;написали?
убери код с кнопок и напиши в руте:
for (var i:Number = 0; i<10; i++) {
this['btn'+i].onPress = Drag;
}
this.onMouseUp = stopDrag;
function Drag() {
startDrag(this);
}
btn1..btnN-названия кнопок, 10 их кол-во).
я бы вообще не использовал кнопочные события клиповА чем плохи onPress и onRelease?
Netter2007
02.03.2008, 15:46
для Fann попробуйте написать для двух клипов и отпусить кнопку когда клип под другим, уменя не срабатывает, вернее срабатывает не всегда.
у меня все работает), мож я неправильна поняла твою поблему
chingachgoog
03.03.2008, 00:13
Фанат хиттеста?
А чем плохи onPress и onRelease?
не фанат и не плохи, но в данной задаче я бы их не использовал.
Netter2007
03.03.2008, 02:22
Спасибо iNils и Fann, ваши методы оба отлично работают, но у Fann оптимальнее код.
chingachgoog
03.03.2008, 13:36
Аргументируйте.
Личное предпочтение всего лишь (не нравиться прописывать onReleaseOutside).
Плюс возможно мувикам противопоказаны кнопочные события (по задумке автора) или наоборот у них есть другие события по кнопкам, отличные от начала драга.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.