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

Регистрация: Aug 2011
Сообщений: 3
Код AS3:
package  {
 
	import	flash.display.MovieClip;
 
	public class Plane extends MovieClip{
		//Графическое отображение ячейки
		private var plane_skin	:plane_mc;
		//private	var	posX		:uint = 200;
		//private var posY		:uint = 200;
 
		public var _callsign	:String = 'callsign';
		//public var index	:uint=0;
 
		public function Plane() {
			// constructor code
			trace('Класс plane создан')
		}
 
		public function createMC():void{
			trace('Функция createMC вызвана');
			var plane_skin=  new plane_mc();
 
			addChild(plane_skin);
 			plane_skin.x=200;
			plane_skin.y=200;
 
		}
 
		public function get callsign():String
		{
			return _callsign;
		}
 
		public function set callsign(str:String):void
		{
			_callsign=str;
		}
 
 
	}
 
}
основной код
Код AS3:
package  {
 
	import	flash.display.MovieClip;
 
 
	public class Main extends MovieClip {
 
		//private var plane_skin		:plane_mc;
 
 
 
		private var do_status:String;
 
//---------------------------------
 
 
		public function Main() {
			// constructor code
			playGame('init');
		}
 
		private function playGame(game_status){
 
			switch (game_status) {
				case 	'init':
					initVars();
					initGraph();
				break;
				case	'game':
				break;
				default:
				break;
			}
 
		}
 
		private function initVars():void{
			var plane:Plane = new Plane();
			plane.createMC();
			//trace(plane.callsign);
			//var plane_skin=  new plane_mc();
			trace(plane.callsign);
			plane.callsign='One';
			trace(plane.callsign);
		}
 
		private function initGraph():void{
 
		}
 
 
 
	}
 
}
И все же - как заставить из внешнего класса поместить мувиклип на сцену?

UPD. В общем. добился вот так

1. Импортируем во внешний класс
Код AS3:
 import flash.display.Stage;
2. Объявляем во внешнем классе
Код AS3:
private var sstage:Stage;
3. Пишем во внешнем классе функцию, передающую ссылку на stage основного класса
Код AS3:
public function getStageRef(stageRef:Stage) {
 
            // Ссылку на stage нужно передавать как параметр конструктора
            sstage = stageRef;
        }
4. Вызываем в основном классе разок функцию getStageRef.
Код AS3:
plane.getStageRef(stage);
5. Все, у нас есть ссылка на stage


Последний раз редактировалось Hudson; 25.11.2011 в 18:22. Причина: Найден ответ