Пролог
Я изучаю Flash и хочу создать видеоплеер, в котором вы можете менять видео и соответствующие субтитры, нажимая кнопку «вперед» или «назад».
На данный момент я создал 2 массива видеофайлов ("[видео]") и текстовых строк ("[подписи]"). При нажатии на одну из кнопок изменяется видео в компоненте FLVPlayback, а также текст субтитров в TextArea.
Однако у меня проблема с форматированием текста.
Я использую следующие функции для нажатия кнопки:
function playNextVideo():void
{
if (currentVideo < videos.length-1)
{
currentVideo++;
playCurrentVideo();
}
}
function playCurrentVideo():void
{
textCaption.textField.defaultTextFormat = newFormat;
textCaption.textField.text=captions[currentVideo];
myVideo.source = videos[currentVideo];
myVideo.play();
}
newFormat - это простая переменная TextFormat:
var newFormat:TextFormat = new TextFormat();
newFormat.color = 0x0000C9;
newFormat.size = 18;
newFormat.italic = true;
Я запускаю playCurrentVideo (), чтобы начать воспроизведение видео.
Проблема
Моя проблема в том, что формат изменяется только при нажатии кнопки, но он не применяется для первого субтитра.
Итак, для первого видео я получаю простой текст, с черным цветом, не курсивом и не с размером "18".
Однако, если я нажму на кнопку «вперед» (и, таким образом, снова выполню playCurrentVideo ()), формат изменится. Если я попытаюсь вернуться к первому видео, текст будет отформатирован.
Итак, мой вопрос - что вызывает это состояние и как с ним справиться?