75 уроков по Photoshop на русском языке
Недвижимость для компаний, 100+ других предложений на сайте.

Помещение перехода на основу


До сих пор была изложена методика, применяемая для создания масок из растровых картинок или элементов перехода Flash. Но как на деле заставить переход работать?

Во-первых, нам необходимо изображение, способное воспринимать маску, созданную нами из элементов перехода Lingo. Это будет, бесспорно, опорное изображение в кадре среди множества, где будет предпринята групповая операция. Следующий код создает новый растр опорного изображения.

Поскольку изображение подлежит маскированию, оно должно быть 32 -битовым.

stageImage = new (#bitmap)
StageImage.image = image (myWidth, myHeight, 32)
stageImage.image.copyPixels ((the stage).image, stageImage.rect, rect (0, 0, myWidth, myHeight)) stageImage.useAlpha=TRUE
stageImage.image.setalpha(255) 

Затем, перед рассмотрением следующего кадра, будет создан спрайт для помещения вновь созданного изображения над опорным. Эта методика (динамическое размещение канала спрайта) официально не поддерживается фирмой Macromedia. Более безопасный путь - это зарезервировать канал спрайтов и спрайт, чем создавать их на лету.

EmptySpriteChannel = the lastChannel 

repeat while sprite (EmptySpriteChannel).type <> 0 

 if EmptySpriteChannel = 1 then 
  alert "This transition requires an empty Sprite channel"
  exit
 end if 

 EmptySpriteChannel = EmptySpriteChannel - 1 

end repeat 

puppetsprite EmptySpriteChannel,true 

sprite (EmptySpriteChannel).member = stageImage
sprite (EmptySpriteChannel).rect = (the stage).rect
xx = myWidth / 2
yy = myHeight / 2
sprite (EmptySpriteChannel).loc = point (xx, yy)
sprite (EmptySpriteChannel).locZ = 2000 

Когда клип продвинется к следующему кадру, он будет покрыт изображением кадра, который мы только что покинули. Это изображение, которое принимает маски и показывает опорный кадр за собой. Вот участок кода для интерпретации и применения маски из элемента перехода Lingo. Когда это будет выполнено, растр и спрайт, созданные в процессе, ликвидируются.


on executeWipe me 

 stepListCounter = stepListCounter + 1 

 if stepListCounter <= stepList.Count then 

   Trans_Mask.copyPixels (White_image, Trans_Mask.rect, White_image.rect, [#blendLevel: myblend, #maskimage: Alpha_trans.createMatte (stepList[stepListCounter])]) 
   stageImage.image.setAlpha (Trans_Mask)
 else
   stageimage.erase ()
   sprite (EmptySpriteChannel).member = VOID
   puppetsprite EmptySpriteChannel, FALSE

 end if 

end

Пример клипа Вы можете загрузить исходный код Director 8.5 для примера клипа в форматах Windows или Mac. Он содержит готовый к применению порождающий скрипт и поведение (behavior). Поведение привлечено в канал скрипта и включает в себя возможности для выбора элемента перехода Lingo, установки параметров speed и blendLevel и переворота переходов. Еще одна способность - это возможность синхронизировать переходы со всем остальным. Это значит, что вы можете фактически анимировать находящееся за переходом. Получайте удовольствие! 

Frank Di Luzio имеет титул BFA по фотографии от Рочестерского технологического института. С переходом фотографических спецэффектов, которыми он занимался, из темных фотолаботаторий на компьютер, он утвердился в своем интересе к электронным медиа-средствам. В настоящее время Frank является программистом в Director для DIA3 в Мюнхене, Германия. Родился в Испании, вырос в США, бегло общается на трех языках.

Перевод: ArtLogic
Источник: director-online.com

Использование материалов возможно только при ссылке на Graphics.ru
Статьи, переводы и изображения принадлежат их авторам.
c Graphics.ru 2001. Создание и поддержка ArtLogic.

Содержание раздела