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

Регистрация: Feb 2010
Сообщений: 102
По умолчанию проблема с ООП

Есть три файла с кодом. Как мне вызвать init3d.as и расширяющий его meshes.as в SiriusGroup_main.as что бы они выполнились. Пробовал создавать экземпляры в init3d и meshes, но можно обращатся только к отдельным функциям в них, а как вызвать их так что бы код из обоих файлов выполнился полностью. Плюс дебагплеер ругается на файл init3d на "stage"

.../src/SiriusGroup_main.as
Код AS3:
package{
	import code.*;
 
	import flash.display.Sprite;
 
	public class SiriusGroup_main extends Sprite
	{
		public function SiriusGroup_main():void
		{
 
		}
	}
}
.../src/code/init3d.as
Код AS3:
//--init3d--
 
package code{
	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
 
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class init3d extends Sprite
	{
		public var scene:Scene3D;
		public var view:View3D;
 
		public function init3d():void
		{
			initFunction();
		}
 
		public function initFunction():void
		{
			scene=new Scene3D();
 
			view=new View3D({x:stage.stageWidth/2, y:stage.stageHeight/2, scene:scene});
			addChild(view);
 
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
 
		public function onEnterFrame(e:Event):void
		{
			view.render();
		}
	}
}

.../src/code/meshes.as
Код AS3:
//--meshes--
 
package code{
	import away3d.primitives.Cube;
 
	public class meshes extends init3d
	{
		public var planeS93:Cube;
		public var planeProfix:Cube;
		public var planeElectro:Cube;
		public var planeS04:Cube;
 
		public function meshes():void
		{
			initMeshes();
		}
 
		public function initMeshes():void
		{
			planeS93=new Cube();
			view.scene.addChild(planeS93);
		}
	}
}