![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2010
Сообщений: 69
|
Имеется DisplayObject( неважно какой ) ... с размерами 600 на 600..
Делаю маску размером 300 на 300.. конечно отображается регион размером 300 на 300, но реальные размеры остаются( 600 на 600 ), а надо чтоб и отображалось и размер был 300 на 300... Так же такое обрезание для FLV видио, чтоб можно было делать.. import flash.display.Shape; import flash.display.MovieClip; var MS:MovieClip = new MovieClip(); var msk:Shape = new Shape(); msk.graphics.beginFill( 0xffffff ); msk.graphics.drawRect(0,0, 300, 300 ); MS.addChild( msk ); var cont:MovieClip = new MovieClip(); cont.graphics.beginFill( 0x000000 ); cont.graphics.drawRect(0,0, 600, 600 ); MS.addChild( cont ); cont.mask = msk; addChild( MS ); trace( MS.width + " " + MS.height ); // Выводит "600 600", а надо получить "300 на 300" |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 69
|
А если MS будет находится внутри другого MovieClip, то его размеры буду соответственно не меньше 600 на 600... т.е. тогда придется геттеры width/height для всех родителей менять, чтоб реальный( видимый) размер узнать?
|
|
|||||
|
Регистрация: Oct 2010
Сообщений: 69
|
Ну, а как тогда получить 300 на 300, если не маской... ?
Только копированием через Bitmap и Matrix? |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 54
|
scrollRect возвратит так же 600 x 600
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 54
|
var content:Shape = new Shape(); var g:Graphics = content.graphics; g.beginFill( 0xFF0000, 1 ); g.drawRect( 0, 0, 600, 600 ); g.endFill(); obj.addChild( content ); obj.scrollRect = new Rectangle(0, 0, 300, 300); trace(obj.scrollRect); // 0, 0, 300, 300 trace(obj.scrollRect.height); // 300 trace(obj.height); // 600 |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|