2013-09-24 3 views
0

EDIT:Стоп флэш скользит по щелчку мыши

Я создаю флэш-баннер, где у меня есть несколько объектов, которые приходят и уходят. В конце моего баннера появляется контактная форма. Мне нужно, чтобы анимация останавливалась, когда пользователи нажимают на любое из полей ввода. Как достичь этого в ActionScript 3?

ответ

1

Для каждого из полей ввода добавить следующее:

_inputField.addEventListener(MouseEvent.CLICK clickHandler); 

Затем добавьте следующую функцию:

public function clickHandler(e:MouseEvent):void { 
stop(); 
} 

'Остановим' подразумевает, что вы» используя временную шкалу в качестве вашей анимации. Если анимация содержится в MovieClip, сделайте примерно следующее:

_containingMovieClip.stop(); 
+0

Нужно ли добавить 'public function clickHandler (e: MouseEvent): void { stop(); } 'как кнопка, которая охватывает весь баннер, как будто я добавляю clickTag? – Laniakea

+0

Если вы используете только временную шкалу, добавьте код функции (и .addEventListeners) к кадру в строке времени (вы можете нажать F9, чтобы открыть панель actionscript). Если вы используете внешние классы, код должен идти туда, где создаются поля ввода; где у вас есть доступ к ссылкам на поля ввода. – moosefetcher

+0

Сейчас я получаю несколько ошибок. Ошибки, связанные с синтаксисом: '1084: Ошибка синтаксиса: ожидающий права перед кликомHandler.' и' Открытый атрибут может использоваться только внутри пакета. ' – Laniakea

1

Вы можете сделать mousover слушатель указал на баннере

banner.addEventListener(MouseEvent.MOUSE_OVER,mouseOverNow) 

banner.addEventListener(MouseEvent.MOUSE_OUT,mouseNotOverNow) 

function mouseOverNow(e){ 
    stopSlide = true; 
} 
function mouseNotOverNow(e){ 
    stopSlide = false; 
} 

, и вы должны сделать проверку в анимации ли stopSlide является истинным или ложным, прежде чем продолжить новый слайд.

что-то вроде

if(!stopSlide){ 
    banner.play(); 
} 
+0

Не совсем то, что я собирался, но заслуживаю внимания. – Laniakea

Смежные вопросы