Форум 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)
-   -   Проблема импорта класса (http://www.flasher.ru/forum/showthread.php?t=133820)

Baellir 27.12.2009 15:33

Вложений: 1
И снова здравствуйте :)
Нужен конструктор для класса, который бы делал то же самое, что и нижеследующий код.
Код AS1/AS2:

 
 
for (var j=0; j<8; j++)        {
        this[eval(figureblack[j])] = Figures.attachMovie(figureclassset[j], "B"+figureset[j], Figures.getNextHighestDepth(), {_x:(j*60), _y:0});
        this[eval(figureblack[j])].onRelease = Testf;
        Cells[j][0]._coFigure = "B"+figureset[j];
 
        this[eval(figurewhite[j])] = Figures.attachMovie(figureclassset[j], "W"+figureset[j], Figures.getNextHighestDepth(), {_x:(j*60), _y:420, _fcolor: "black"});
        this[eval(figurewhite[j])].gotoAndPlay(2);
        Cells[j][7]._coFigure = "W"+figureset[j];
        this[eval(figurewhite[j])].onRelease = Testf;
}
        //Setup figures End
  //-

Архив с классом и кодом прикрепил к сообщению.

Hauts 27.12.2009 15:41

Лучше напишите "не могу разобраться, как сделать конструктор..."
Всем что-то нужно.

Baellir 27.12.2009 16:37

Цитата:

Лучше напишите "не могу разобраться, как сделать конструктор..."
Дык, в этом и проблема. Я не смог его сделать - туева хуча ошибок.
То есть у меня не получилось обратиться к объекту вне класса. + Я новичок :)

iflamberg 27.12.2009 17:06

ну покажите, что у вас получилось, не стесняйтесь, здесь все свои, все свои.

Baellir 28.12.2009 11:06

Дык, просто в классе сделал функцию create.
в функции все тоже самое, только префикс ("B" или "W") и j задается переменной и проверка перед
gotoAndPlay.

Добавлено через 5 часов 21 минуту
Де, безуспешно.
У меня нет идей :(

Baellir 06.01.2010 17:48

Столкнулся со странной проблемой.
Вот создание и размещение фигурок на доске. Там же задается цвет.

Код AS1/AS2:

 
 var ActiveFigure: String;
 var figureblack = new Array();
 var figurewhite = new Array();
 
 figureset= ["tower_1","knight_1","bishop_1","queen","king","bishop_2","knight_2","tower_2"];
 figureclassset = ["tower","knight","bishop","queen","king","bishop","knight","tower"];
 
//Пешки
for (var j=0; j<8; j++) {
        this["Wpeshka_" + (j+1)] = Figures.attachMovie("peshka", "Wpeshka_" + (j+1), Figures.getNextHighestDepth(), {_x: j*60, _y: 360, _first: true, _fcolor: "white"});
        this["Wpeshka_" + (j+1)].gotoAndPlay(2);
        this["Wpeshka_" + (j+1)].onRelease = Testf;
        this["Bpeshka_" + (j+1)] = Figures.attachMovie("peshka", "Bpeshka_" + (1+j), Figures.getNextHighestDepth(), {_x: j*60, _y: 60, _first: true, _fcolor: "black"});
        this["Bpeshka_" + (j+1)].onRelease = Testf;
}
//Остальные фигуры       
for (var j=0; j<8; j++) {
        this[eval("B"+figureset[j])] = Figures.attachMovie(figureclassset[j], "B"+figureset[j], Figures.getNextHighestDepth(), {_x: j*60, _y: 0, _fcolor: "black"});
        this[eval("B"+figureset[j])].onRelease = Testf;
        this[eval("W"+figureset[j])] = Figures.attachMovie(figureclassset[j], "W"+figureset[j], Figures.getNextHighestDepth(), {_x :j*60, _y: 420, _fcolor: "white"});
        this[eval("W"+figureset[j])].gotoAndPlay(2);
        this[eval("W"+figureset[j])].onRelease = Testf;
        }

Для примера выполняю следующее (при клике на фигуру)
Код AS1/AS2:

 
_global.ActiveFigure = this._name;
trace (_global.ActiveFigure+ " = " +this._name+" " +this._fcolor+ " = "+eval(_global.ActiveFigure)._fcolor);

проблема в том, что для пешки выдает следующее:
Wpeshka_2 = Wpeshka_2 white = white
А для остальных фигур:
Wknight_1 = Wknight_1 white = undefined

Почему так? ведь создаются абсолютно одинаково.


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

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