Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   повернуть и изменить размеры Video (http://www.flasher.ru/forum/showthread.php?t=155827)

ZGG 11.05.2011 00:58

повернуть и изменить размеры Video
 
Здравствуйте уважаемые флешеры!

Нужно динамически повернуть экземпляр Video на 90 градусов и увеличить его размеры. Но не получается. :(
Код AS3:

var cam:Camera = Camera.getCamera()
 
var m:Matrix = new Matrix();
m.rotate(Math.PI / 2);
 
var video:Video = new Video()
video.attachCamera(cam)
video.rotationZ = 90
//video.transform.matrix = m;
addChild(video)
 
video.width = 640
video.height = 480
 
 
trace(video.width) // 240
trace(video.height) // 480

Код AS3:

var cam:Camera = Camera.getCamera()
 
var m:Matrix = new Matrix();
m.rotate(Math.PI / 2);
 
var video:Video = new Video()
video.attachCamera(cam)
//video.rotationZ = 90
video.transform.matrix = m;
addChild(video)
 
video.width = 640
video.height = 480
 
trace(video.width) // 360
trace(video.height) // 320

Без какого либо поворота:
Код AS3:

var cam:Camera = Camera.getCamera()
 
var m:Matrix = new Matrix();
m.rotate(Math.PI / 2);
 
var video:Video = new Video()
video.attachCamera(cam)
//video.rotationZ = 90
//video.transform.matrix = m;
addChild(video)
 
video.width = 640
video.height = 480
 
 
trace(video.width) //640
trace(video.height) //480

Можно и матрицей промасштабировать, но меняются пропорции видео на обратные.
Код AS3:

var cam:Camera = Camera.getCamera()
 
var m:Matrix = new Matrix();
m.rotate(Math.PI / 2);
m.scale(2,2)
 
var video:Video = new Video()
video.attachCamera(cam)
//video.rotationZ = 90
video.transform.matrix = m;
addChild(video)
 
//video.width = 640
//video.height = 480
 
trace(video.width) //480
trace(video.height) //640

Как правильно повернуть и увеличить экземпляр Video?

Добавлено через 23 часа 29 минут
Все, сам разобрался.
Схитрил так:
Код AS3:

var video:Video = new Video(1,1)
 
var mx1:Matrix=new Matrix()                               
mx1.scale(427,320)
mx1.rotate(Math.PI / 2);
video.transform.matrix = mx1;



Часовой пояс GMT +4, время: 01:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.