PDA

Просмотр полной версии : по нехоженным граблям...


Nox Noctis
17.06.2003, 18:35
по забавным граблям прошелся на днях мой коллега... :)
обойти грабли оказалось оч просто, но эффект от удара в лоб граблями этой модели очень любопытный... :)

изначально система была значительно более навороченная - я вырезал только главное:

..делаем дубликат клипа с текстом
..в дубликате меняем текст
..удаляем дубликат (как именно - см. исходник)

а теперь вопрос -
какого черта в неудаленном клипе в результате меняется текст ? :)))

кто объяснит что происходит - берет пол пирожка :)
кто скажет как это исправить - забирает вторую половину... :)

зы: не надо переписывать скрипт, надо что-то добавить... совсем немного...

зыы: десятипалых и делимитеров просьба не беспокоить :))

llllllllll
17.06.2003, 19:07
А че делать то нада? =) и именно добавлять? =) ... и пирожки на халяву дают? =)

Nox Noctis
17.06.2003, 19:12
текст "clip B" меняется на "clip C" хотя никто его об этом не просил :))

сейчас достаточно легко понять в чем дело - а вот когда это было внутри большого проекта....

(и вообще - тебя дисквалифицировали еще до старта :) какие там пирожки... )

iLoveYou
17.06.2003, 22:16
remove = function () {
var D = C;
B.swapDepths(C.getDepth());
B._name = "C";
D._name="B";
C._name="D";
D.removeMovieClip();
};

Nox Noctis
18.06.2003, 12:42
неее...

смотри: у нас два дублированных клипа - B и C
хочу удалить С, и переименовать B в C

а у тебя в результате остается клип D :))

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

llllllllll
18.06.2003, 14:09
Нада увеличить ставки, а то народ не жаждит знаний которые несет решение задачи :) :) :)

Nox Noctis
18.06.2003, 14:12
а ну вас в баню... мне уже скучно стало... а пирожок засох, потрескался и вообще его муравьи погрызли... :)

Alex_Lom
18.06.2003, 14:19
я-бы пару косых палочек перед swapDepths поставил... :)

Nox Noctis
18.06.2003, 14:28
скрипт менять не надо, говорю же... :)

короче, поскольку у пирожка уже истек срок годности...

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

хороший прикол надо сказать :)
если например только свапнуть, или только переименовать - этого глюка нет.

вывод - если уж нужен и свап и смена имени - то сначала надо удалить переменные в стираемом клипе...

llllllllll
18.06.2003, 14:40
я не понял, а что вот так незя? :)

remove = function () {
var D = C;
B.swapDepths(C.getDepth());
D.removeMovieClip();
B._name = "C";
};

Поменять местами строки?

cyraxchel
18.06.2003, 14:42
Блин, я не дочитал до конца, кинулся скичивать исходник, решать задачу. А топом посмотрел на последнюю мессагу и стало неинтересно. Неуспел... :o
А пирожки надо в холодильнике хранить, чтоб так быстро не портились. =)

iLoveYou
18.06.2003, 17:04
Оригинал написал(а) Nox Noctis
неее...
смотри: у нас два дублированных клипа - B и C
хочу удалить С, и переименовать B в C
а у тебя в результате остается клип D :))
проблема именно в том, что после удаления и переименовывания переменная внутри оставшегося клипа меняет зачем-то значение :))
гы уже и постебаться низзя? ты ж сказал - пару строчек =))
если на мето клипа свапнуть другой и присвоить ему то же имя, то переменные из затертого клипа телепортанутся в оставшийся :)
а кто сказал, что клип нужно затирать? они и так туда переносятся =))
с тыба - торт! =))

Nox Noctis
18.06.2003, 17:12
Оригинал написал(а) Sergey"iLoveYou"
а кто сказал, что клип нужно затирать? они и так туда переносятся =))
как кто ?! я сказал !.. :))
условия задачи такие... :)

и то что они переносятся - это и есть БАГ :)

iLoveYou
18.06.2003, 17:19
Оригинал написал(а) Nox Noctis

и то что они переносятся - это и есть БАГ :)
ты шутишь, наверное? =))))))))

Nox Noctis
18.06.2003, 17:26
я как никогда серьезен :)

2llllllllll
насчет переноса строк -
в оригинале клипов было оч много и переименовывание выглядело:
B._name = ref._name; // - где ref - ссылка на удаляемый клип
поэтому просто заранее удалить нельзя было
либо нужно вводить темповую переменную и сохранять имя...

llllllllll
18.06.2003, 17:31
Оригинал написал(а) Nox Noctis

2llllllllll
насчет переноса строк -
в оригинале клипов было оч много и переименовывание выглядело:
B._name = ref._name; // - где ref - ссылка на удаляемый клип
поэтому просто заранее удалить нельзя было
либо нужно вводить темповую переменную и сохранять имя...

Это наталкивает на мысль, что проблемы не в багах, которых дофига в любой проге, а в подходе :)

Nox Noctis
18.06.2003, 17:34
блин... :)) да никто и не спорит что с подходом нелады...

но почти все дороги ведут к граблям :))

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

llllllllll
18.06.2003, 17:37
Оригинал написал(а) Nox Noctis
но почти все дороги ведут к граблям :))

ООО!!! - это истина, до которой каждый доходит в свое время :D

Nox Noctis
18.06.2003, 17:40
аха, я вот достиг этой стадии просветления когда делал первый свой крупный проект на флэше... :))