Просмотр полной версии : по нехоженным граблям...
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
аха, я вот достиг этой стадии просветления когда делал первый свой крупный проект на флэше... :))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.