Director MX


Подсказка 2




Фраза в программе, начинающаяся в скрипте в четвертой строке снизу, обычно пишется в одну строку. Однако поля книги не позволили нам представить этот код одной строкой. Первый слэш (/) в этой строке является математическим действием деления и необходимой частью кода Lingo. Второй слэш (\) является указателем в Lingo, что имеется продолжение в следующей строке. Если вы собираетесь напечатать всю эту фразу в одну строку в окне Behavior Script, то вы должны опустить обратные слэши (\ ). Мы вставили обратные слэши (\) из-за формата книги, но если вы печатаете этот код в точности, как показано здесь, то все в порядке.


property thisSprite , theWidth on BeginSprite me thisSprite = sprite(me.Spritenum) theWidth = sprite(thisSprite).width sprite(thisSprite).right = \ sprite(thisSprite).left end on prepareFrame me if sprite(2).movieTime = sprite (2) .duration\ then exit else sprite(thisSprite).right = \ (float (Sprite(2) .movieTime)\ / Sprite(2).duration) \ * theWidth + Sprite(thisSprite).left end if end
ж)Щелкните по кнопке Recompile Аll Modified Scripts

з) Далее следует краткое объяснение только что написанного вами скрипта. Он начинается с инициализации двух свойств: thisSprite и theWidth. ThisSprite будет установлено в значение номера спрайта индикатора выполнения. TheWidth будет установлено в значение первоначальной ширины в пикселах спрайта индикатора выполнения. Идея заключается в том, что индикатор выполнения должен продвигаться по мере воспроизведения видео, пока не достигнет конца видео (и своей первоначальной ширины).

on BeginSprite является обработчиком события, который инициализируется, когда Director пытается отобразить спрайт на сцене. Мы используем этот обработчик события, чтобы установить начальную позицию индикатора выполнения.  Здесь устанавливаются свойства thisSprite и theWidth. Правый конец индикатора выполнения затем устанавливается равным левому концу. Таким образом, индикатор выполнения будет виден в неподвижном состоянии.

on prepareFrame является обработчиком события, который инициализируется, когда Director начинает входить в кадр. Он будет проверять, есть ли продвижение в цифровом видеоэлементе. Вначале оператор If...Then проверит, не достигло ли видео конца. Если это так, то программа выходит из оператора If... Then. Если нет, то Director производит вычисления для установки правого конца индикатора выполнения. В этих вычислениях текущее значение видео movieTime делится на его длительность, чтобы получить процентное отношение для выполнения видео. Оно затем умножается на ширину первоначального состояния индикатора выполнения, чтобы получить длину полосы. И, наконец, эта длина складывается с позицией левого конца индикатора выполнения, чтобы вычислить позицию правого конца.

9. Сохраните вашу работу в папке SaveWork на вашем жестком диске.

10.Щелкните по кнопке Stop на сцене. Щелкните по кнопке Play. Щелкните по кнопке Fast Forward и удерживайте нажатой кнопку мыши. Вы заметите, что звук теперь воспроизводится с удвоенной скоростью. Щелкните по кнопке Fast Backward. Вы заметите, что звук теперь будет воспроизводиться в обратном направлении с удвоенной скоростью.












Начало  Назад