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

Регистрация: Nov 2009
Сообщений: 56
По умолчанию Как из расширяемого класса вызвать метод или свойство расширяющего класса

Помогите пожалуйста, а то голову уже сломал.Увы....Мук мне не помог(((
Вот основной класс Init
Код AS3:
package{
	import flash.display.*;
	import flash.geom.*;
	import flash.events.*;
	import flash.utils.*;
 
	public class Init extends Sprite {
 
		public function Init() {
			stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDoubleClick);
		}
 
		public function onMouseDoubleClick(e:MouseEvent) {
				var rbox:RedBox = new RedBox(mouseX,mouseY);
				addChild(rbox);
			}
		}
	}
}
вот расширяемый класс MoveController
Код AS3:
package{
	import flash.display.*;
	import flash.geom.*;
	import flash.events.*;
 
	public class MoveController extends Sprite {
		public var  a:Number = 6;
 
		public function MoveController() {
                 //что мне здесь нужно написать чтобы получить значение переменной c   метод для ее получения в этом классе?
		}
		public function onMousedown(e:MouseEvent):void {
			e.stopPropagation()
			e.target.startDrag();
		}
		public function onMouseup(e:MouseEvent):void {
			e.stopPropagation()
			e.target.stopDrag();
		}
	}
}
вот расширяющий класс RedBox
Код AS3:
package{
	import flash.display.*;
	import flash.geom.*;
	import flash.events.*;
 
	public class RedBox extends MoveController {
        public var c:Number = 276;
	private var bgColor:uint      		= 0xAE0D0D;
        private var borderColor:uint  		= 0x666666;
        private var borderSize:uint   		= 3;
        private var cornerWidth:uint 		= 16;
	private var cornerHeight:uint 		= 16;
 
		public function RedBox(x:Number,y:Number) {
                        trace(super(a));//Выписывает 6.По идее super вообще можно опустить 
			var child:Shape = new Shape();
			child.name = "RedBox"+x;
			child.graphics.beginFill(bgColor);
			child.graphics.lineStyle(borderSize, borderColor);
			child.graphics.drawRect(x, y, cornerWidth,cornerHeight);
			child.graphics.endFill();
			addChild(child);
			this.addEventListener(MouseEvent.MOUSE_DOWN,onMousedown);
			this.addEventListener(MouseEvent.MOUSE_UP,onMouseup);
		}
	}
}
Если я что -то делаю не так то поправьте меня пожалуйста