Я разрабатываю приложение ActionScript 3.0 для Blackberry Playbook.
У меня есть двенадцать изображений, загруженных с помощью класса Loader.Я использую Event.ENTER_FRAME, чтобы постепенно увеличивать и уменьшать изображения с помощью этого обработчика событий:
private function onEnterFrame(event:Event):void
{
imageToFront.alpha += 0.1; // slow fade
imageToBack.alpha -= 0.1;
if( imageToFront.alpha >= 1.0 )
{
imageToFront.alpha = 1.0;
// hide the first image
imageToBack.alpha = 0.0;
imageToBack.visible = false;
// remove the enter frame event listener
stage.removeEventListener( Event.ENTER_FRAME, onEnterFrame );
}
}
Когда пользователь щелкает изображение, оно генерирует следующий обработчик щелчка:
private function onImageClicked(event:MouseEvent):void
{
switch((event.currentTarget as Loader).name)
{
case imageCell11Back.name:
imageToFront = imageCell11Front;
imageToBack = imageCell11Back;
break;
case imageCell11Front.name:
imageToFront = imageCell11Back;
imageToBack = imageCell11Front;
break;
case imageCell12Back.name:
imageToFront = imageCell12Front;
imageToBack = imageCell12Back;
break;
case imageCell12Front.name:
imageToFront = imageCell12Back;
imageToBack = imageCell12Front;
break;
case imageCell13Back.name:
imageToFront = imageCell13Front;
imageToBack = imageCell13Back;
break;
case imageCell13Front.name:
imageToFront = imageCell13Back;
imageToBack = imageCell13Front;
break;
case imageCell21Back.name:
imageToFront = imageCell21Front;
imageToBack = imageCell21Back;
break;
case imageCell21Front.name:
imageToFront = imageCell21Back;
imageToBack = imageCell21Front;
break;
case imageCell22Back.name:
imageToFront = imageCell22Front;
imageToBack = imageCell22Back;
break;
case imageCell22Front.name:
imageToFront = imageCell22Back;
imageToBack = imageCell22Front;
break;
case imageCell23Back.name:
imageToFront = imageCell23Front;
imageToBack = imageCell23Back;
break;
case imageCell23Front.name:
imageToFront = imageCell23Back;
imageToBack = imageCell23Front;
break;
}
stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
imageToFront.visible = true;
}
Iвозникают следующие проблемы:
Если пользователь нажимает на другое изображение до того, как предыдущее изображение не достигает альфа = 1,0, оно оставляет это изображение с альфа-значением менее 1,0.
Другими словами,Мне нужно что-то сделать слева onEnterFrame
Функция установить альфа на 1,0.
Есть идеи?
Я пробовал с stage.hasEventListener(Event.ENTER_FRAME)
, но он не работает.