Форум 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=146351)

mooncar 05.11.2010 21:42

Вложений: 1
Держите.

Dalass13 05.11.2010 22:06

блин какой я тупой -_______-

наконец дошло до меня как этот обработчик запускается, спасибо огромное)

mooncar 05.11.2010 22:08

Пожалуйста. :)

Dalass13 05.11.2010 23:11

я вот еще что хотел узнать. Мне после каждого комбинирования надо перезаполнять эти 55 скилоов с учетом того, что открыто, а что еще нет.

mooncar 05.11.2010 23:22

Задайте вашим скиллам свойство, означающее открытость (true / false).
Сделайте функцию с подобным циклом и в зависимости от "открытости" производите это "перезаполнение", вызывая функцию когда нужно.

Dalass13 05.11.2010 23:24

то есть самое первое заполнение сделать не функцией, а перезаполнение отдельной?

mooncar 06.11.2010 10:26

Нет, все можно функцией.

Dalass13 06.11.2010 19:52

У меня проблемка появилась

Код AS1/AS2:

do {
        if (i>cols) {
                j++, i=1;
        }
        id = 'skill'+index;
        var mc = _root.attachMovie('SkillIcons', id, index);
        mc.gotoAndStop(index);
        zabito = 0;
        zabitoC = 0;
        guardX = _x;
        guardY = _y;
        lockMenu = false;
        checks = true;
        mc.onRollOver = function() {
                if (lockMenu == false) {
                        _root.skillBASE(id);
                        trace(id);// возвращает всегда skill55
                        _root.menuCheck(_x, _y, _width);
                }
        };
        mc._x = x0+w*i;
        mc._y = y0+h*j;
        index++, i++;
} while (index<=cols*rows);

Я скорее всего опять чего-то не понимаю, но как обратиться именно к клипу на который навели курсор



Уже исправил, извиняюсь)

mooncar 06.11.2010 20:00

В вашем коде для меня есть непонятные места.
Посмотрите мои примеры на первой странице, как циклом назначаются обработчики.
И вот свежая тема:
http://www.flasher.ru/forum/showthread.php?t=146398

Dalass13 06.11.2010 22:51

теперь у меня другая проблема, вот код:

Код AS1/AS2:

fillUpSkills = function () {
        rows=11, cols=5;
        x0=600, y0=0;
        w=42, h=42;
        index=1, i=1, j=1;
        do {
                if (i>cols) {
                        j++, i=1;
                }
                id = 'skill'+index;
                var mc = _root.attachMovie('SkillIcons', id, index);
                mc.gotoAndStop(index);
                mc.zabito = 0;
                mc.lockMenu = false;
                mc.onRollOver = skillRollOver();
                mc.onRollOut = skillRollOut();
                mc.onPress = skillOnPress();
                mc.onRelease = skillOnRelease();
                mc._x = x0+w*i;
                mc._y = y0+h*j;
                mc.guardW = mc._width;
                mc.guardX = mc._x;
                mc.guardY = mc._y;
                index++, i++;
        } while (index<=cols*rows);
};
 
function skillRollOver() {
        if (this.lockMenu == false) {
                if (this._name.slice(5, 7)>55) {
                        _root.infoBASE(this._name);
                } else {
                        _root.skillBASE(this._name);
                }
                _root.menuCheck(this._x, this._y, this._width);
                }
}
 
function skillRollOut() {
        information._visible = false;
}
 
function skillOnPress() {
        this.swapDepths(100);
        startDrag(this);
        _root.information._visible = false;
        lockMenu = true;
}
 
function skillOnRelease() {
        for (k=0; k<=5; k++) {
                if (this.hitTest(_root["slot"+k])) {
                        if (_root.a[k] == 1) {
                                k = 5;
                                _root.a[this.zabito] = 0;
                                trace("a["+this.zabito+"]="+_root.a[this.zabito]);
                                trace("ВЫШЕЛ ИЗ СЛОТА: "+this.zabito);
                                this._x = this.guardX;
                                this._y = this.guardY;
                                this._width = this.guardW;
                                this._height = this.guardW;
                                this.shine.gotoAndStop(1);
                                break;
                        } else {
                                this._x = _root["slot"+k]._x;
                                this._y = _root["slot"+k]._y;
                                this._width = _root["slot"+k]._width;
                                this._height = _root["slot"+k]._height;
                                if (k<>this.zabito) {
                                        trace("ВЫШЕЛ ИЗ СЛОТА "+this.zabito);
                                        _root.a[this.zabito] = 0;
                                        trace("a["+this.zabito+"]="+_root.a[this.zabito]);
                                }
                                trace("ВОШЕЛ В СЛОТ "+i);
                                this._root.a[k] = 1;
                                trace("a["+k+"]="+_root.a[k]);
                                this.zabito = k;
                                this.shine.gotoAndStop(2);
                                break;
                        }
                } else {
                        if (k == 5) {
                                _root.a[this.zabito] = 0;
                                trace("a["+this.zabito+"]="+_root.a[this.zabito]);
                                trace("ВЫШЕЛ ИЗ СЛОТА: "+this.zabito);
                                this._x = this.guardX;
                                this._y = this.guardY;
                                this._width = this.guardW;
                                this._height = this.guardW;
                                this.shine.gotoAndStop(1);
                        }
                }
                stopDrag();
                this.swapDepths(0);
                lockMenu = false;
        }
}

В итоге в выходе все трейсы, а сами мувики никак не реагируют на наведение, нажатие и т.д. Где я опять допустил тупую ошибку?


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

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