В случае удачной загрузки всех
if(!m_fAllLoaded) { stop(); m_Graphics.drawString( "Load error", 10, size().height / 2); return; }
В случае удачной загрузки всех кадров метод run получает ширину и высоту первого кадра видеофильма и сохраняет эти значения в переменных m_nImgWidth и m_nImgHeight:
m_nImgWidth = m_Images[0].getWidth(this); m_nImgHeight = m_Images[0].getHeight(this);
Далее окно аплета перерисовывается:
repaint();
При этом метод paint отображает в окне аплета первый кадр видеофильма.
На следующем этапе работы метода run запускается цикл отображения кадров фильма:
while (true) { try { displayImage(m_Graphics); m_nCurrImage++; if(m_nCurrImage == NUM_IMAGES) m_nCurrImage = 0; Thread.sleep(30); } catch (InterruptedException e) { stop(); } }
В этом бесконечном цикле вызывается метод displayImage, рисующий текущий кадр видеофильма, после чего номер текущего кадра увеличивается на единицу. Если показаны все кадры, номер текущего кадра становится равным нулю, а затем процесс продолжается.
Между отображением кадров выполняется задержка величиной 30 миллисекунд.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий