Показать сообщение отдельно
Старый 14.10.2009, 17:24
3Desian вне форума Посмотреть профиль Отправить личное сообщение для 3Desian Найти все сообщения от 3Desian
  № 1  
Ответить с цитированием
3Desian
 
Аватар для 3Desian

Регистрация: Mar 2007
Сообщений: 142
Отправить сообщение для 3Desian с помощью ICQ
Tools Указать размер текстуры

Есть 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 соответственно не работает. Как же быть? Подскажите пожалуйста.