Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Уважаемые знатотки . . . (http://www.flasher.ru/forum/showthread.php?t=35386)

kimmo 02.08.2002 16:08

Уважаемые знатотки . . .
 
Есть код:

Код:

onClipEvent (enterFrame) {
        if (!_root.lastEnemy) {
                if (random(30) == 4) {
                        enemyName = "enemy" add Number(_root.depth);
                        trace(enemyName);
                        duplicateMovieClip("_root.m-target", enemyName, _root.depth);
                        setProperty(enemyName, _y, _root.depth*10);
                        trace(getProperty(enemyName, _y));
                        _root.depth++;
                        _root.lastEnemy = 100;
                }
        } else {
                _root.lastEnemy--;
        }
}

и всё бы хорошо, но setProperty не работат,
а trace(getProperty(enemyName, _y)); выдает undefined

внимание, вопрос: в чём проблема?

Nox Noctis 02.08.2002 16:37

Код:

onClipEvent (enterFrame) {
        if (!_root.lastEnemy) {
                if (random(30) == 4) {
                        enemyName = "enemy"+_root.depth;
                        trace(enemyName);
                        duplicateMovieClip("_root.m-target", enemyName, _root.depth);
                        _root[enemyName]._y = _root.depth*10;
                        trace(_root[enemyName]._y);
                        _root.depth++;
                        _root.lastEnemy = 100;
                }
        } else {
                _root.lastEnemy--;
        }
}


kimmo 02.08.2002 16:44

круто, всё работает
но я ничего не понял.
что это за чудесный массив _root[]?

Nox Noctis 02.08.2002 17:02

читаем хэлп :)

в хэлпе МХ ищем:
Contents —> Understanding the ActionScript Language —>
—> Using operators to manipulate values in expressions —>
—> Dot and array access operators


там все подробно описано :)

вот тут есть немного на русском по той же теме

Nox Noctis 02.08.2002 17:14

собственно ошибка заключалась в следующем:

НЕПРАВИЛЬНО:
setProperty(enemyName, _y, _root.depth*10);
trace(getProperty(enemyName, _y));

ПРАВИЛЬНО:
setProperty(_root[enemyName], _y, _root.depth*10);
trace(getProperty(_root[enemyName], _y));

либо

tellTarget (_root) {
setProperty(enemyName, _y, depth*10);
trace(getProperty(enemyName, _y));
}

логика ясна ?


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

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