Я новичок в AS3, и я делаю какой-то пользовательский проект видеоплеера для AIR.Пока я изучал простые примеры (не StageVideo) о том, как воспроизводить видео, я столкнулся с уникальной ситуацией, когда я получил потрясающее автоматическое масштабирование (растягивание по размеру) для поведения окна из Flash.1002 * Всякий раз, когда я устанавливаю ширину и высоту директивы SWF, равную ширине и высоте создаваемого объекта flash.media.Video.Он выполняет автоматическое масштабирование, растягивание, изменение размера.Вот так:
// SWF directive placed before the class declaration of the main class
[SWF( width="1024", height="576", backgroundColor="000000", visible="true" )]
// somewhere in my initialization
myvid = new Video();
with( myvid )
{
x = 0;
y = 0;
width = 1024; // if I set this wxh equal to wxh in the SWF directive it auto-scales!
height = 576;
}
myvid.attachNetStream( myns );
addChild( myvid ); // must come after instancing of video and netstream, and attach to make the auto-scale work
myvid.play( "somevideo.flv" );
Даже если я установлю ширину 16 и высоту 9 на обоих, она масштабируется и идеально вписывается в размер моего окна. Кто-нибудь может объяснить мне это поведение?Ничто из того, что я прочитал в документации, не упоминало об этом.
Не поймите меня неправильно, мне нравится такое поведение!:) Это облегчило мне жизнь.Но с точки зрения кода мне нужно понять, почему это происходит, поскольку код, который я установил, не имеет ничего общего с автоматическим масштабированием.
Кроме того, для чего, черт возьми, директивы?Разве они не имеют чистый эквивалент ActionScript 3?Мне они кажутся хакерскими.