Показать сообщение отдельно
Старый 10.10.2012, 21:45
HorusWM вне форума Посмотреть профиль Отправить личное сообщение для HorusWM Найти все сообщения от HorusWM
  № 4  
Ответить с цитированием
HorusWM

Регистрация: Sep 2010
Сообщений: 90
Код AS3:
package
{
	import away3d.entities.Mesh;
	import away3d.loaders.Loader3D;
	import away3d.loaders.parsers.Parsers;
	import away3d.library.AssetLibrary;
	import away3d.events.AssetEvent;
 
	/**
	 * 07.10.2012
	 * @author HorusWM
	 */
	public class MeshLoader 
	{
		private static var mesh:MeshComponent;
 
		public function MeshLoader() 
		{
 
		}
 
		/**
		 * Загружает модель с текстурами
		 * @param	className	имя модели
		 * @param	m	целевой меш
		 */
		public static function Load(className:Class, m:MeshComponent):void
		{
			mesh = m;
			Parsers.enableAllBundled();
			AssetLibrary.addEventListener(AssetEvent.ASSET_COMPLETE, onAssetComplete);
			AssetLibrary.loadData(new className());
		}
 
		private static function onAssetComplete(event:AssetEvent):void
		{
			var loaded:Mesh = event.asset as Mesh;
 
			if (loaded != null) mesh.SetMesh(loaded);
		}
	}
}
использовать так:
Код AS3:
var [Embed(source = "../content/arnoldschawrzenegger.AWD", mimeType = "application/octet-stream")] private const MESH_CLASS:Class
 
MeshLoader.Load(MESH_CLASS, player.mesh);
MeshComponent - мой класс, где через метод SetMesh(); я назначаю меш свойству geometry