В принципе у меня очень простая видео галерея. Я хочу, чтобы, когда видео приостановлено, некоторые кнопки станут видимыми на экране, и когда он будет воспроизводиться, эти кнопки не будут видны. Это мой код:Попытка добавить прослушиватель событий для PLAYING/PAUSED_STATE_ENTERED, возвращая ошибку 1119
import fl.video.*;
import fl.video.VideoEvent;
import flash.events.Event;
videoOne.addEventListener(Event.PLAYING_STATE_ENTERED, hideInfo());
videoOne.addEventListener(Event.PAUSED_STATE_ENTERED, showInfo());
function showInfo() {
thumbnailOne.visible = true;
thumbnailTwo.visible = true;
thumbnailThree.visible = true;
videoGalleryInfo.visible = true;
infoHidden = 0;
}
function hideInfo() {
thumbnailOne.visible = false;
thumbnailTwo.visible = false;
thumbnailThree.visible = false;
videoGalleryInfo.visible = false;
infoHidden = 1;
}
Я попытался с помощью Event вместо VideoEvent и так далее, как это исправили проблему с добавлением другого слушателя событий ранее для полного события, но я всегда возвращался с
Video gallery, Layer 'ActionScript', Frame 77, Line 22 1119: Access of possibly undefined property PLAYING_STATE_ENTERED through a reference with static type Class.
Video gallery, Layer 'ActionScript', Frame 77, Line 23 1119: Access of possibly undefined property PAUSED_STATE_ENTERED through a reference with static type Class.
Я не понимаю, что я делаю неправильно. Не следует определять свойства путем импорта fl.video. *; и flash.events.Event ;?
EDIT: В случае, если это имеет значение, здесь приведена остальная часть моего кода для этой конкретной сцены, включая исправления, предложенные нулем. Я до сих пор получаю те же ошибки, плюс «1136:. Неверное количество аргументов Ожидаемое 1» ошибка
import flash.events.MouseEvent;
import fl.video.*;
import fl.video.VideoEvent;
import flash.events.Event;
stop();
homeButton.addEventListener(MouseEvent.CLICK, homePressed);
soundButton.addEventListener(MouseEvent.CLICK, soundPressed);
helpButton.addEventListener(MouseEvent.CLICK, helpPressed);
exitButton.addEventListener(MouseEvent.CLICK, exitPressed);
var videoPlaying:int = 0;
var infoHidden:int = 0;
videoOne.addEventListener(Event.COMPLETE, vid1Comp);
function vid1Comp(event:Event) {
videoOne.visible = false;
showInfo();
}
videoOne.addEventListener(VideoEvent.PLAYING_STATE_ENTERED, hideInfo);
videoOne.addEventListener(VideoEvent.PAUSED_STATE_ENTERED, showInfo);
function showInfo(e:Event):void {
thumbnailOne.visible = true;
thumbnailTwo.visible = true;
thumbnailThree.visible = true;
videoGalleryInfo.visible = true;
infoHidden = 0;
}
function hideInfo(e:Event):void {
thumbnailOne.visible = false;
thumbnailTwo.visible = false;
thumbnailThree.visible = false;
videoGalleryInfo.visible = false;
infoHidden = 1;
}
thumbnailOne.addEventListener(MouseEvent.CLICK, playVid1);
function playVid1(event:MouseEvent) {
hideInfo();
if (musicPlaying == 1) {
SoundMixer.stopAll();
musicPlaying = 0;
}
videoOne.visible = true;
videoOne.play();
videoPlaying = 1;
}
videoOne.visible = false;
Спасибо за помощь. Я попытался изменить свой код на то, как вы описали, но он дал мне больше ошибок в строках, где я объявляю функции hideInfo и showInfo. Передача функции также не исправила ошибку 1119. Это похоже на то, что мне не нравится, когда я пытаюсь прослушать событие, когда запускается игра или приостановленное состояние, и у меня была аналогичная проблема, о которой я говорил с ПОЛНОЙ. Я не знаю, действительно ли класс fl.video просто глючит или что-то, потому что у меня не было таких проблем, пока я не попытался его использовать. – Trekkx
@Trekkx ваше редактирование добавило много кода, которого раньше не было. Я обратился к вопросам в редакции моего ответа, пожалуйста, проверьте, разрешает ли это проблему. – null
Я изменил свои функции так, чтобы они имели e: Event = null, который исправил ошибку 1136. Я по-прежнему в основном, где я начал, хотя, поскольку я все еще получаю 1119 ошибок, когда я вызываю PLAYING_STATE_ENTERED и PAUSED_STATE_ENTERED. Есть ли решение этой проблемы или возможное обходное решение, чтобы я мог достичь аналогичной функциональности, не используя эти две константы? Спасибо за вашу помощь до сих пор, кстати, и жаль, что это неприятность. – Trekkx