|
|
|||||
Регистрация: Dec 2008
Сообщений: 10
|
Переливание кнопок.
Здравствуйте, помогите вспомнить такую штуку.....
У меня есть две кнопки, я нажимаю на первую, она красиво анимирована разворачивается, так чтоб вторую было видно, я ее читаю, перехожу мышкой на вторую кнопку, кликаю, и вот самое главное, как зделать чтоб вторая кнопка также карасиово разворачивалась, а первая в это время сварачивалась??????????? Обьясните, Зарание спасибо. Последний раз редактировалось leopoldus; 24.12.2008 в 13:37. |
|
|||||
Можно, например, завести такую функцию, в которую можно было бы отдавать идентификатор кнопки , а она бы брала и проигрывала анимацию,
у той что активна - скрывала, на которую нажали - показывала... ну и всё... var buttons = [about_btn, we_btn, contacts_btn]; //это массив с нышими кнопками function btnRelease (id) { for (var i in buttons) { if(buttons[i].num==id) //num'ы раздадим кнопкам по порядку от 0 до n { buttons[i].show(); // show() - это выдуманная функция с анимацией появления currentButton = buttons[i].num; } if(buttons[i].num==currentButton) // в currentButton храним номер активной кнопки buttons[i].hide(); // это по аналогии с show() только наоборот =) } }
__________________
O God! The Aftermath. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Да не, самое "главное" здесь - стягивание и разбегание неактивных кнопок в ряду)))
Остальное тупо руками делается. При нажатии на кнопку та, что сейчас "открыта", переходит на кадр с анимацией сворачивания. Допустим, это сворачивание длится 15 кадров. Та, на которую нажали, переходит на кадр с которого начинается анимация разворачивания. Только первые 15 кадров этой анимации ничего не происходит - кнопка "ждет" пока свернется предыдущая. Можно поставить глобальный флаг, чтобы в самый первый раз, пока никакая кнопка не нажата, этого ожидания 15 кадров не делать а сразу переходить на кадр с действием.
__________________
Reality.getBounds(this); |
|
|||||
можно кнопки строить чохом в ентерФрейме, например, ориентируясь на текущие габариты:
//на сцене мувики b0,b1,b2,b3 c анимацией разворота var selectedBut:MovieClip; var butArr:Array=[b0,b1,b2,b3]; /////////////////////// function butPress(){ selectedBut = this; //кликнутый мувик гоним по линейке впред, остальных назад for (var i:Number = 0; i < butArr.length; i++) { butArr[i].onEnterFrame = butArr[i] == this ? nextFrame : prevFrame; } } ///////////////////////// for(var i=0;i<butArr.length;i++){ var but:MovieClip=butArr[i]; but.id=i; but.x0=but._x; but.onPress=butPress; } /////////////////////// function onEnterFrame() { //если не кликали, то ничего if (!selectedBut) { return; } //кликнутый гоним на исходную позицию.. selectedBut._x+=(selectedBut.x0-selectedBut._x)/5; //строим всех, раздельно слева и справа for (var i:Number = selectedBut.id-1; i>=0; i--) { var but = butArr[i]; var prevBut = butArr[i+1]; but._x = prevBut._x-prevBut._width/2-but._width/2-10; } //справа for (var i:Number = selectedBut.id+1; i<butArr.length; i++) { var but = butArr[i]; var prevBut = butArr[i-1]; but._x = prevBut._x+prevBut._width/2+but._width/2+10; } } |
|
|||||
Регистрация: Dec 2008
Сообщений: 10
|
Цитата:
Последний раз редактировалось leopoldus; 24.12.2008 в 13:37. |
|
|||||
Регистрация: Nov 2003
Адрес: St-Petersburg
Сообщений: 30
|
Всем привет ни одного документа не нашел на сайте про северное сияние(((
Может здесь кто-то подскажет или исходник кинет как сделать свечение северного сияния? За ранее благодарю!
__________________
dimakol |
Часовой пояс GMT +4, время: 00:55. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|