Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как разобраться с уровнями (http://www.flasher.ru/forum/showthread.php?t=108853)

Netter2007 01.03.2008 22:51

Как разобраться с уровнями
 
Не хватает знаний чтобы решить следующую задачу:
На сцене несколько клипов, они все перекрываются.
Как сделать чтобы перетаскивать верхний в точке клика мыши. ?

Другими словами как получить имя экземпляра клипа который в конкретной точке верхний ?

Надеюсь на помощь

MrPoma 01.03.2008 22:55

MovieCLip.getNextHighestDepth();
MovieClip.getInstanceAtDepth()
MovieClip.swapDepths()

Netter2007 01.03.2008 23:39

А как узнать какой клип находится в момент нажатия под курсором ?

iNils 01.03.2008 23:53

Сделать все клипы кнопками, самый верхний откликниться и назовет себя.

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

Крыша едет,
пдскажите код чтобы отцеплялась кнопка когда она под другой.

iNils 02.03.2008 01:41

Netter2007 получает плюс за мультипостинг.

Цитата:

Сообщение от chingachgoog
я бы вообще не использовал кнопочные события клипов

Фанат хиттеста?

Netter2007 02.03.2008 02:00

Сделал сам, только кто обьяснит чайнику почему StopDrag прописаный для mc1 срабатывает и для mc2 ?
Код:

mc1.onMouseDown = function () {
                startDrag (mc1);
        };
       
mc2.onMouseDown = function () {
                startDrag (mc2);
        };
mc1.onMouseUp = function () {
                stopDrag ();
        };


iNils 02.03.2008 02:04

Потому, что onMouseDown это события нажатия кнопки мыши. Вы где угодно можете ее нажать, и оно сработает.
Код:

mc1.onPress = function () {
        this.startDrag ();
};
mc1.onRelease = function () {
        this.stopDrag ();
};
mc1.onReleaseOutside = mc1.onRelease;


Netter2007 02.03.2008 03:19

Когда mc1 под другим клипом - не всегда срабатывает, как можно получить стабильность, чтобы при отжатии клавиши пекреиаскивание прекращалась для всех клипов ?

MrPoma 02.03.2008 04:55

Цитата:

Сообщение от Netter2007
...пекреиаскивание...

Чего?

iNils 02.03.2008 10:20

Цитата:

Сообщение от Netter2007
Когда mc1 под другим клипом - не всегда срабатывает, как можно получить стабильность, чтобы при отжатии клавиши пекреиаскивание прекращалась для всех клипов ?

Вы строчку
Код:

mc1.onReleaseOutside = mc1.onRelease;
написали?

Fann 02.03.2008 13:53

убери код с кнопок и напиши в руте:
Код:


for (var i:Number = 0; i<10; i++) {
        this['btn'+i].onPress = Drag;
}
this.onMouseUp = stopDrag;
function Drag() {
        startDrag(this);
}

btn1..btnN-названия кнопок, 10 их кол-во).
Цитата:

Сообщение от chingachgoog
я бы вообще не использовал кнопочные события клипов

А чем плохи onPress и onRelease?

Netter2007 02.03.2008 15:46

для Fann попробуйте написать для двух клипов и отпусить кнопку когда клип под другим, уменя не срабатывает, вернее срабатывает не всегда.

Fann 02.03.2008 17:45

Вложений: 1
у меня все работает), мож я неправильна поняла твою поблему

chingachgoog 03.03.2008 00:13

Цитата:

Сообщение от iNils
Фанат хиттеста?

Цитата:

Сообщение от Fann
А чем плохи onPress и onRelease?

не фанат и не плохи, но в данной задаче я бы их не использовал.

iNils 03.03.2008 01:09

Аргументируйте.

Netter2007 03.03.2008 02:22

Спасибо iNils и Fann, ваши методы оба отлично работают, но у Fann оптимальнее код.

chingachgoog 03.03.2008 13:36

Цитата:

Сообщение от iNils
Аргументируйте.

Личное предпочтение всего лишь (не нравиться прописывать onReleaseOutside).
Плюс возможно мувикам противопоказаны кнопочные события (по задумке автора) или наоборот у них есть другие события по кнопкам, отличные от начала драга.

iNils 03.03.2008 13:44

Ясно.


Часовой пояс GMT +4, время: 05:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.