Самая простая реализация onReleaseOutside в AS3?

Я давний пользователь ActionScript 2, сейчас начинаю работу с ActionScript 3. Мне не хватает одного простого способа дублировать функциональность MovieClip.onReleaseOutside из AS2. Почти всегда необходимо реализовать это событие, в противном случае вы получите забавные ошибки, такие как flash думает, что ваша мышь не работает, когда она действительно работает.

СогласноРуководство по миграции с AS2 на AS3Я должен использоватьflash.display.InteractiveObject.setCapture() для этого, однако, он не существует, насколько я могу судить. Я думаю, что этот документ устарел или неверен. Я нашел несколько постов в Интернете о том, как дублировать эту функцию, но у них либо есть свои проблемы:

Вот этот срабатывает onReleaseOutside, даже если не было соответствующего события onPress.Вот этот кажется очень неэффективным, вы будете добавлять и удалять прослушиватель событий каждый раз, когда щелкаете мышью в любом месте вашего приложения.

Должен быть более простой способ, не говорите мне, что Adobe забыла об этом при переписывании Actionscript?

Пример кода AS2:

// Assume myMC is a simple square or something on the stage

myMC.onPress = function() {
  this._rotation = 45;
}

myMC.onRelease = myMC.onReleaseOutside = function() {
  this._rotation = 0;
}

Без обработчика onReleaseOutside, если вы нажмете на квадрат, перетащите мышку за его пределы и отпустите кнопку мыши, квадрат не будет вращаться и будет зависать.

Ответы на вопрос(3)

Ваш ответ на вопрос