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

grafillo 13.05.2009 19:06

помогите разобраться с ремувом
 
ребята есть код цель создавать дубликаты и удалять их последовательно
баг с ремувом он удаляет оригинал и перемещает его в другое место
помогите отфиксить код чтобы он удалял и дублировал символы как задумано
))
Код AS1/AS2:

//i = 1;
but.onRelease = function() {
        duplicateMovieClip("kat", "kat"+i, i);
        setProperty("kat"+i, _x, 110+50*i);
        setProperty("kat"+i, _y, 110);
        i++;
        trace(i);
        //        }
};
butred.onPress = function() {
        if (i>1) {
                removeMovieClip("kat"+i);
                i--;
                trace(i);
        }
};


mooncar 13.05.2009 19:10

Оформите код

grafillo 13.05.2009 19:20

как это сделать ёлки?

mooncar 13.05.2009 19:27

Выделите участок кода и нажмите кнопочку AS на панели оформления сообщения.
И определитесь уж с закомментированными строками - уберите совсем или прокомментируйте их закомментированность (i = 1).

grafillo 13.05.2009 19:38

закоментированы типа пытался и так и сяк

mooncar 13.05.2009 19:49

duplicateMovieClip - клип должен быть на сцене, если это авторская среда, например, за рабочем полем.
Или нужно аттачить, если образец лежит в библиотеке.
Вот так работает:
Код AS1/AS2:

i = 1;
but.onRelease = function() {
        attachMovie("kat", "kat"+i, i);
        setProperty("kat"+i, _x, 110+50*i);
        setProperty("kat"+i, _y, 110);
        i++;
};
butred.onPress = function() {
        if (i > 1) {
                removeMovieClip("kat"+(i-1));
                i--;
        }
};

Добавлено через 3 минуты
То есть, если вам нужен оригинал и на сцене, то выложите его куда надо и код будет:
Код AS1/AS2:

i = 1;
but.onRelease = function() {
        duplicateMovieClip("kat", "kat"+i, i);
        setProperty("kat"+i, _x, 110+50*i);
        setProperty("kat"+i, _y, 110);
        i++;
};
butred.onPress = function() {
        if (i > 1) {
                removeMovieClip("kat"+(i-1));
                i--;
        }
};


nOobCrafter 13.05.2009 19:55

Код AS1/AS2:

_root["kat" + (i - 1)].removeMovieClip();

?

grafillo 13.05.2009 19:59

вы знаете вообще не работает с аттач мув, а он у меня и лежит на сцене когда я использую дупликат, у меня проблемы с ремувом а не с дублированием,
сейчас removeMovieClip("kat"+(i-1)); i-1 помогло но всё равно глючит удаляет последний экземпляр через раз

Добавлено через 2 минуты
Цитата:

Сообщение от nOobCrafter (Сообщение 819548)
Код AS1/AS2:

_root["kat" + (i - 1)].removeMovieClip();

?

это вообще не работает((

Добавлено через 9 минут
Цитата:

_root["kat" + (i - 1)].removeMovieClip();
это в восьмом флеше фроде как работает))

Добавлено через 15 минут
о дядя луноход о так работает правильно, тока оно ведь не понятно
Код AS1/AS2:

removeMovieClip("kat"+(i-1));
i--;

как это работает оно жишь должно через одну перескакивать как я понимаю
а
Код AS1/AS2:

attachMovie("kat", "kat"+i, i);

эта функция непонятно вообще как работает((

Psycho Tiger 13.05.2009 20:23

Про attachMovie - почитайте хелп.
Уж лучше бы вы писали на кнопках, нежели использовали setProperty.
С чего должно перескакивать то через одну?
Вообще лучше поменять местами:
Код AS1/AS2:

i--;
removeMovieClip("kat"+i));


grafillo 13.05.2009 20:34

Цитата:

Сообщение от Psycho Tiger (Сообщение 819564)
Про attachMovie - почитайте хелп.
Уж лучше бы вы писали на кнопках, нежели использовали setProperty.
С чего должно перескакивать то через одну?
Вообще лучше поменять местами:
Код AS1/AS2:

i--;
removeMovieClip("kat"+i));


я просто пишу весь код в одном месте чтобы не лазить потом отыскивать где чего проскриптовано, мне кажется так удобнее))

removeMovieClip("kat"+(i-1));
i--;
через одну должно перелетать потомучто оно два раза i уменьшает на 1, или я не прав?


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

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