использование mouse_over при перетаскивании фрагмента ролика в другой фрагмент ролика в AS3 - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь сделать следующее: я хочу перетащить mc (mc1) поверх другого mc (mc2) и запускать навигацию по временной шкале, когда она закончена, а не когда она отпущена (мышь поднята).Очевидно, flash не распознает, что мышь находится над mc2, потому что читает только как mc1.Это, вероятно, очень просто, но я не знаю, как это сделать.

Слабая попытка кода:

mc2.addEventListener(MouseEvent.MOUSE_OVER, mcOver1);

function mcOver1(Event:MouseEvent):void {
mc2.gotoAndStop(2);
}

Когда я ничего не перетаскиваю, все работает нормально, потому что flashможет определить, где находится мышь.Но я не уверен, как заставить вспышку определять местоположение мыши при перетаскивании фрагмента ролика.Я попытался основать код на месте фрагмента ролика, который я перетаскивал (mc1), но это тоже не сработало.

Любая помощь приветствуется.

РЕДАКТИРОВАТЬ: хорошо, я только подумал о действительно дешевом обходном пути, но я все еще хотел бы знать, как сделать это без необходимости обходного пути.По сути, так как мой mc (mc1) настолько мал, я сделал так, чтобы x-позиция mc была на 5 пикселей больше, чем x-позиция курсора, поэтому mc2 теперь распознает мышь:

this.addEventListener(MouseEvent.MOUSE_DOWN, startDragging1, true);
this.addEventListener(MouseEvent.MOUSE_UP, stopDragging1, true);

function startDragging1(e:MouseEvent) {
    mc1.startDrag();
    mc1.x = mouseX + 5;
    }
...