Показать сообщение отдельно
Старый 09.07.2010, 12:31
metsys вне форума Посмотреть профиль Отправить личное сообщение для metsys Найти все сообщения от metsys
  № 9  
Ответить с цитированием
metsys

Регистрация: Feb 2010
Сообщений: 102
не работает

Добавлено через 2 минуты
вот код Objects.as
Код AS3:
package
{
	import away3d.containers.ObjectContainer3D;
	import away3d.core.base.Object3D;
	import away3d.events.MouseEvent3D;
	import away3d.primitives.Cube;
	import away3d.primitives.Trident;
	import away3d.primitives.data.CubeMaterialsData;
 
	import caurina.transitions.Tweener;
 
	import flash.events.Event;
 
	public class Objects
	{
		public var xml:XMLLoad=new XMLLoad();
 
		private var langPrimArray:Array=new Array();
		public var langPrimCont:ObjectContainer3D=new ObjectContainer3D();
 
		public var _doska:Cube;
		public var _axis:Trident;
 
		private var cubeData:CubeMaterialsData=new CubeMaterialsData({left:'black', right:'black', top:'black', bottom:'black', back:'black'});
 
		public function Objects()
		{
 
		}
 
		public function chooseLanguage():void
		{
			for (var i:int=0; i<3; i++)
			{
				langPrimArray[i]=new Cube({width:400, height:100, depth:50});
				langPrimArray[i].y=150+(-i*150);
				langPrimArray[i].cubeMaterials=cubeData;
				langPrimCont.addChild(langPrimArray[i]);
			}
			langPrimCont.addOnMouseOver(addOnMouseOver_langPrimCont);
			langPrimCont.addOnMouseOut(addOnMouseOut_langPrimCont);
			langPrimCont.addOnMouseDown(addOnMouseDown_langPrimCont);
		}
 
		private function addOnMouseOver_langPrimCont(e:MouseEvent3D):void
		{
			var object:Object3D=e.object;
			tweenFunc(object, object.x, object.y, 100, object.rotationX, object.rotationY, object.rotationZ, 1, 0, "easeOutSine");
		}
 
		private function addOnMouseOut_langPrimCont(e:MouseEvent3D):void
		{
			var object:Object3D=e.object;
			tweenFunc(object, object.x, object.y, 0, object.rotationX, object.rotationY, object.rotationZ, 1, 0, "easeOutBounce");
		}
 
		private function addOnMouseDown_langPrimCont(e:MouseEvent3D):void
		{
			var url:String=new String();
			var object:Object3D=e.object;
			if (langPrimCont.children.indexOf(object)==0)
			{
				url="data/xml/English_Menu.xml";
           	}
           	if (langPrimCont.children.indexOf(object)==1)
           	{
           		url="data/xml/Russian_Menu.xml";
           	}
           	if (langPrimCont.children.indexOf(object)==2)
           	{
           		url="data/xml/Ukranian_Menu.xml";
           	}
           	xml.loadingXML(url);
           	xml.addEventListener(Event.COMPLETE, onXMLLoaded);
		}
 
		private function onXMLLoaded(e:Event):void
		{
			e.target.removeOnMouseDown(addOnMouseDown_langPrimCont);
           	e.target.removeOnMouseOver(addOnMouseOver_langPrimCont);
           	langPrimCont.addOnMouseDown(addOnMouseDown_Option);
 
           	tweenFunc(langPrimCont, langPrimCont.x, langPrimCont.y, 300, langPrimCont.rotationX, 180, langPrimCont.rotationZ, 3, 0, "easeOutSine");
		}
 
		private function addOnMouseDown_Option(e:MouseEvent3D):void
		{
			e.target.removeOnMouseOut(addOnMouseOut_langPrimCont);
			e.target.removeOnMouseDown(addOnMouseDown_Option);
			var object:Object3D=e.object;
			tweenFunc(object, object.x, 0, object.z, 180, object.rotationY, object.rotationZ, 1.5, 0, "easeOutSine");
			var i:int=0;
			var j:Number=1;
			for (i; i<3; i++)
			{
				if (langPrimCont.children.indexOf(object) != i)
				{
					tweenFunc(langPrimArray[i], j*1500, langPrimArray[i].y, langPrimArray[i].z, langPrimArray[i].rotationX, langPrimArray[i].rotationY, langPrimArray[i].rotationZ, 2, 0, "easeOutSine")
					j*=-1;
				}
			}
		}
 
		public function doskaFunc():void
		{
			_doska=new Cube({width:601, depth:601, height:20});
 
			_axis=new Trident(350);
		}
 
		private function tweenFunc(object:Object3D, x:int, y:int, z:int, rotX:int, rotY:int, rotZ:int, time:Number, delay:Number, effect:String):void
		{
			Tweener.addTween(object, {x:x, y:y, z:z, rotationX:rotX, rotationY:rotY, rotationZ:rotZ, time:time, delay:delay, transition:effect});
		}
	}
}
вот код XMLLoad.as
Код AS3:
package
{
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.ProgressEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
 
	public class XMLLoad extends EventDispatcher
	{
		//--XML--
		public var xmlLoader:URLLoader=new URLLoader();
		private var xmlList:XMLList;
		private var xmlData:XML;
 
		//public var objects:Objects=new Objects();
		//public var comboBoxArray:ArrayCollection=new ArrayCollection();
 
		public function XMLLoad()
		{
		}
 
		public function loadingXML(url:String):void
		{
			xmlLoader.addEventListener(Event.COMPLETE, xmlLoadedFunc);
			xmlLoader.addEventListener(ProgressEvent.PROGRESS, xmlProgressFunc);
			xmlLoader.load(new URLRequest(url));
		}
 
		private function xmlLoadedFunc(e:Event):void
		{
			e.target.removeEventListener(Event.COMPLETE, xmlLoadedFunc);
			xmlData=new XML(e.target.data);
			xmlList=xmlData.children();
			dispatchEvent(new Event(Event.COMPLETE));
		}
 
		private function xmlProgressFunc(e:ProgressEvent):void
		{
			var percentage:Number=(e.bytesLoaded/e.bytesTotal)*100;
		}
	}
}
Добавлено через 11 минут
вопросов нету я ступил, ответ получил, спасибо)