Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   [AS 2] Проблема определения цвета разных экземпляров класса (http://www.flasher.ru/forum/showthread.php?t=76037)

alexGoHome 25.02.2006 05:16

[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 объектов цвет майки устанавливается только у первого объекта.

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

Double 25.02.2006 12:08

Код:

this.i = _root.createEmptyMovieClip("foot"...трам-пам-пам
а зачем каждый раз в руте делать новый клип с тем же именем, что и в предыдущий?

alexGoHome 25.02.2006 19:24

Да, спасибо, помогло ;)


Часовой пояс GMT +4, время: 11:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.