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

Регистрация: Feb 2006
Сообщений: 31
Question [AS 2] Проблема определения цвета разных экземпляров класса

Добрый день,
Прошу помочь решить проблему ...
Существует класс Footballer
Код:
class Footballer extends MovieClip {
	
	private var _fNumber :Number =null;
	private var _fName : String = null;
	private var _fColor : Number = null;
	private var i :MovieClip = null;
	private var foot :MovieClip = null;
	private var ts :MovieClip = null;
	private var cTShirt :Color =null;
	
	//Конструктор
	function Footballer(fNumber :Number, fName :String){
		this._fNumber = fNumber;
		this._fName = fName;
		this.CreateFootballer();
	}
	
	private function CreateFootballer():Void {
		this.i = _root.createEmptyMovieClip("foot",_root.getNextHighestDepth());
		this.foot = this.i.attachMovie("mcFootballer","foot_mc",this.i.getNextHighestDepth());
		this.ts = this.foot.attachMovie("mcTShirt","ts_mc",this.i.getNextHighestDepth());
	}
	
	// покрасим майку
	public function set SetColorTShirt (_color:Number) :Void {
		this.cTShirt = new Color (this.ts);  
		this.cTShirt.setRGB(_color);
	}
	
	public function SetXY (x:Number, y:Number) :Void {
		this.i._x = x;
		this.i._y = y;
	}
	
	
	public function get FNumber (): Number{
		return _fNumber;
	}
	
	public function get FName (): String{
		return _fName;
	}
}
Далее создаю экземпляр, устанавливаю его координаты, и задаю цвет майки - красный к примеру.
Код:
var a : Footballer = new Footballer(2, "Пошкус");
a.SetXY(200,206);
a.SetColorTShirt = 0xff0000;
Возникла такая проблема, когда создаю следущий объект класса.
Код:
var b : Footballer = new Footballer(3, "Пошкус");
b.SetXY(200,266);
b.SetColorTShirt = 0x00ff00;
Объект создается, но b.SetColorTShirt выполняется для первого объекта (как будто выполняю a.SetColorTShirt= 0x00ff00)
По мойму проблема гдето около target конструктора new Color () здесь
Код:
public function set SetColorTShirt (_color:Number) :Void {
		this.cTShirt = new Color (this.ts);  
                          ...
Если создать 10 объектов цвет майки устанавливается только у первого объекта.

Вот такая проблема не дает мне спать