![]() |
2 вопроса в одном!
Привет!
Вообще голова не соображает.. ((( в чем проблемы :confused: 1.Хотел сделать как бы кнопки с простенькой анимацией... И не получатеся только одна штука ( ---- При наведении двигается треугольничек, а при отведении мышки от кнопки треугольничек останавливается. Когда нажимаешь то треагольничек меняет цвет и двигается... Проблема в том что при нажатии на другую кнопку на прошлой происходит анимация и только останавливается когда убираешь с той кнопки мышку... ( Тобишь проигрывается 2 анимации, хотя должна проигрываться одна... 2. После "// temp" идет код который странно как- то работает... Если его поставить перед "// Buttons", то он вообще не работает, а если в конец, то в "// Buttons" пропадают 1, 2 и 3 кнопка... В чем проблема? Код:
//Buttons(сори если описал вопросы непонятно) |
Сложно разобраться, приколи исходник или напиши подробные коменты
|
Короче, ты чего-то намудрил и сам себя запутал.... Не понимаю, что вы так все мудрите?:) Во-первых, лучше дублируй клип, так как, если я не ошибаюсь, при attach-е не все вложенные в attach-ируемый клип объекты тоже дублируются - это надо производить отдельно. Проще сделай так
for(i=0;i<button_name.length;i++){ duplicateMovieClip("button", "button"+i, i); setProperty("button"+i, _x, нужный x) setProperty("button"+i, _y, нужный y) //дальше вбиваем текст в кнопки и проч. //задаешь события, как и раньше } //и прочая дурь Кнопки исчезают у тебя потому, что у них совпадают уровни! У клипов не должны совпадать уровни (уровень задается третьим параметром в функции). Смотри, у тебя вначале кнопки приобретают уровни 0,1,2,3,4,5,6, а потом эти "mini" тоже уровни 0,1,2 (и три кнопки исчезают). Если бы у тебя массив x был большей длины, исчезло бы все... Я рекомендую создать переменную, в которой будет храниться номер самого высокого уровня. Например allDepths=0 И потом третьим параметром функция дублирования/аттачирования использовать allDepths (только не забывай прибавлять к нему 1). То есть К примеру allDepths++ duplicateMovieClip("button", "button"+i, allDepths); setProperty("button"+i, _x, нужный x); setProperty("button"+i, _y, нужный y); и allDepths++ attachMovie("mini", "mini"+i1, allDepths); Таким образом избежишь ошибок....:) Ну а с остальным я не разобрался - уж извини, лень. Тем более что надо смотреть все сразу, вместе с исходником, или переделывать нафиг весь код.... Попробуй с тем, что я сказал, может, заработает? Или пиши конкретнее, разбей код на участки, тестируй - а то так сложно понять, что там за проблемы. |
Ну одну ошибку сразу вижу...
attachMovie("button", "button"+i, i); attachMovie("mini", "mini"+i1, i1) i и i1 от 0 до кагого то значения depth'ы у тебя получаются одинаковыми....а они должны быть разными (уникальными) |
Стоп, господа. Я так печатать не успею. dekud прав - поскольку создание происходит в цикле, то depth'ы должны различаться, например, во втором случае лучше сделать так:
attachMovie("mini", "mini"+i1, i1+50) Что бы упростить код предлагаю свойства объектам передавать при создании: _root.attachMovie("button", "button"+i, i,{_x:osx[i],_y:osy[i]}); Цитата:
Я лично тоже считаю, что ни к чему плодить на сцене лишние объекты-пустышки, которые нужны только для дублирования. А функцию setProperty() вообще забудь как страшный - это было в пятом флэше, а на дворе - MX2004. 2rojok-online. Похоже, что вся твоя проблема - в дублировании depth'ов. Да и еще, имхо with в последнем цикле - не к месту. |
Код:
_root.attachMovie("button", "button"+i, i,{_xsx[i],_ysy[i]}); |
Код:
_root.attachMovie("button", "button"+i, i,{_x:sx[i],_y:sy[i]}); |
Dindin, интересный способ задания свойств.... Не знал... Я вообще 2004-ый плохо знаю. Раньше такого не было. Спасибо.
|
А насчет дублирования.... Я говорил про attach, так там у меня лично почему-то при аттаче создавался лишь внешний клип, а все вложенные в него игнорировались. Черт знает почему. Может, объяснишь, как можно сделать полный attach? Или я чего-то неправильно делаю... :)
|
Пришли исходник - посмотрим :)
Да, кстати, задание свойств при инициализации еще в MX было. |
| Часовой пояс GMT +4, время: 11:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.