Итак, у меня есть код, похожий на этот (это для демонстрационных целей):
addEventListener(Event.ENTER_FRAME, enterFrameFunction);
function enterFrameFunction(e:Event):void{
if(sampleMovieClip1.hitTestObject(sampleMovieClip2)){
runAFunctionIDontWantToBeRunOnEveryFrame();
}
}
Проблема в том, что для проверки того, что sampleMovieClip2 сталкивается с sampleMovieClip1, мне нужно проверять его каждый кадр с помощью enterFrameFunction, поэтому любой код, который я помещаю внутри этой функции, запускает каждый кадр, который тест возвращает true, но я хочу, чтобы runAFunctionIDontWantToBeRunOnEveryFrame (); функция, чтобы запустить ее только один раз.
Мне удалось это сделать, добавив переменную, чтобы определить, было ли условие истинным раньше, но сейчас у меня проблемы с этим, и я хотел бы знать, есть ли другой, менее утомительный способ получить результат. Что-то вроде прослушивателя событий для проверки логического значения, возвращающего истину?