Перехід на заданий кадр в Processing

У попередньому прикладі ми навчилися керувати швидкістю відео У цьому прикладі ми навчимося перескакувати на заданий кадр відеофайлу

Як це робиться

Цей приклад почнемо з того ж, з чого починався попередній приклад, але тут додамо перенісши типу float під імям w, за допомогою якої зробимо індикатор виконання

import processingvideo*

Movie m float w

void setup()

{

size( 640, 480 )

m = new Movie( this, &quotmarblesmov&quot ) mloop()

}

void draw()

{

background( 0 )

image( m, 0, 0, width, height )

fill( 0 ) noStroke()

rect( 0, 0, w, 10 )

}

Функція movieEvent () виглядає непростою Ми перетворимо тривалість відео в величину від 0 до width, ширини вікна вашого скетчу і збережемо її у змінній w

void movieEvent( Movie m )

{

mread()

w = map( mtime(), 0, mduration(), 0, width )

}

У функції mousePressed () ми перетворимо діапазон значень змінної mouseX в діапазон від 0 до тривалості відео і використовуємо метод jump () для виконання переходу на певний момент відео

void mousePressed()

{

float x = map( mouseX, 0, width, 0, mduration() ) mjump( x )

}

Запустіть скетч, клікніть мишею і подивіться, що відбувається на екрані В результаті ви побачите те, що зображено на цьому скріншоті:

Метод duration () класу Movie повертає дійсне число, відповідне тривалості відео в секундах Метод time () повертає позицію поточного кадру в секундах Метод jump () використовується для установки покажчика на іншу позицію відео Параметр цієї функції – речовинно число від 0 до тривалості відео Чорна смуга, вгорі екрану – це індикатор процесу Ширина цього прямокутника обчислюється в функції movieEvent ()

Джерело: Ян Вантомм, Processing 2: креативне програмування, переклад з англійської Олександри Мішутіної, Published by Packt Publishing Ltd, 2012, BIRMINGHAM – MUMBAI

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*