Есть
Plane() - квадрат. В качестве материала используется
BitmapFileMaterial, в который подгружается
jpg. Сам
jpg не квадратный. Хочу натянуть текстуру на
Plane(), сохранив при этом пропорции
jpg-файла.

Код AS3:
public function changeMat(evt:FileLoadEvent): void
{
var menu:DisplayObject3D = scene.getChildByName(photoElements) as DisplayObject3D;
for each ( var item:DisplayObject3D in menu.children)
{
var mat:BitmapFileMaterial = evt.currentTarget as BitmapFileMaterial;
var bmd:Bitmap = evt.currentTarget as Bitmap ;
trace("BITMAP!!!!!!!="+bmd);
if (mat.name==item.name)
{
item.material=mat;
align(bmd,item);
}
}
}
function align(bmp:Bitmap, plane:DisplayObject3D):void
{
var ratio:Number = Math.min(SIZE / bmp.width, SIZE / bmp.height );
bmp.scaleX = bmp.scaleY = ratio;
bmp.x = plane.x + (SIZE - bmp.width) / 2;
bmp.y = plane.y + (SIZE - bmp.height) / 2;
}
Трассировка выдаёт
"BITMAP!!!!!!!=null", а функция
align соответственно не работает. Как же быть? Подскажите пожалуйста.
