![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2009
Сообщений: 33
|
ПОдскажите пожалуйста как сделать следующую логику движения(я анимирую с помощью TweenLite):
Когда нажимаешь на кнопку она смещается в влево. После этого если нажать на другую кнопку, то чтобы сначала вернулась нажатая кнопка а затем они вместе начали движение влево. Может кто сталкивался с подобной ситуацикй или может тутор есть какойнибуть(тутор я подобный видел неделю назад там такое делали с музыкальными пластинками, но перекапал весь нет, так и не нашел этот урок) Заранее благодарен Последний раз редактировалось Atstek; 13.06.2009 в 11:04. |
|
|||||
|
"она смещается в всело"... боюсь такого вам не написать, в село кнопку не отправить, по крайней мере флэшем. Если я правильно понял, то сложного ничего нет... координата "х" вас выручит
Последний раз редактировалось willis83; 13.06.2009 в 10:23. |
|
|||||
|
Регистрация: May 2009
Сообщений: 33
|
Я могбы написать как нужно это зделать, а то я уже 2 дня парюсь так ни чего путного не получается
|
|
|||||
|
создайте листенер события по клику, в нём укажите функцию, которая будет двигать ваши кнопки и другие нужные вам действия выполнять.... сложного ничего нет... в принципе. Выкладывайте код, посмотрим, не буду же с нуля писать.
|
|
|||||
|
Регистрация: May 2009
Сообщений: 33
|
import gs.*; import gs.easing.*; var buttonsArray:Array = [homeBtn, fotoBtn, workBtn, aboutBtn]; var buttonsTextArray:Array = [homeBtn.homeTextBtn,fotoBtn.fotoTextBtn,workBtn.workTextBtn,aboutBtn.aboutTextBtn]; function setButton():void { for(var i:int = 0;i<buttonsArray.length; i++) { buttonsArray[i].id = i; buttonsArray[i].buttonMode = true; buttonsArray[i].mouseEnabled = true; buttonsArray[i].addEventListener(MouseEvent.MOUSE_OVER, overBtn); buttonsArray[i].addEventListener(MouseEvent.MOUSE_OUT, outBtn); buttonsArray[i].addEventListener(MouseEvent.CLICK, clickBtn); } } function overBtn(e:MouseEvent):void { //Поднимается сама кнопка TweenLite.to(e.currentTarget, 1, {y:365, ease:Elastic.easeOut}); // В зависимости от кнопки бегают соответствующие надписи if(e.currentTarget.id == 0) { TweenLite.to(e.currentTarget.homeTextBtn, 1, {y:-225, ease:Bounce.easeOut}); } if(e.currentTarget.id == 1) { TweenLite.to(e.currentTarget.fotoTextBtn, 1, {y:-75, ease:Bounce.easeOut}); } if(e.currentTarget.id == 2) { TweenLite.to(e.currentTarget.workTextBtn, 1, {y:-255, ease:Bounce.easeOut}); } if(e.currentTarget.id == 3) { TweenLite.to(e.currentTarget.aboutTextBtn, 1, {y:-225, ease:Bounce.easeOut}); } } function outBtn(e:MouseEvent):void { // опускается сама кнопка TweenLite.to(e.currentTarget, 1, {y:384, ease:Bounce.easeOut}); // В зависимости от кнопки бегают соответствующие надписи if(e.currentTarget.id == 0) { TweenLite.to(e.currentTarget.homeTextBtn, 1, {y:225, ease:Bounce.easeOut}); } if(e.currentTarget.id == 1) { TweenLite.to(e.currentTarget.fotoTextBtn, 1, {y:245, ease:Bounce.easeOut}); } if(e.currentTarget.id == 2) { TweenLite.to(e.currentTarget.workTextBtn, 1, {y:250, ease:Bounce.easeOut}); } if(e.currentTarget.id == 3) { TweenLite.to(e.currentTarget.aboutTextBtn, 1, {y:215, ease:Bounce.easeOut}); } } function clickBtn(e:MouseEvent):void { //Создается переменная в которую записывается id кликнутой кнопки и вызывается функция var currentBtn:int = e.currentTarget.id selectButton(currentBtn); } function selectButton(id:int):void { for(var i:int = 0; i<buttonsArray.length; i++) { if(id == i) { TweenLite.to(buttonsArray[i], 1, {x:200}); if(buttonsArray[0].x == 200) { TweenLite.to(buttonsArray[0], 1, {x:780}); } if(buttonsArray[1].x == 200) { TweenLite.to(buttonsArray[1], 1, {x:815}); } if(buttonsArray[2].x == 200) { TweenLite.to(buttonsArray[2], 1, {x:850}); } if(buttonsArray[3].x == 200) { TweenLite.to(buttonsArray[3], 1, {x:885}); } buttonsArray[i].buttonMode = true; buttonsArray[i].mouseEnabled = false; buttonsArray[i].mouseChildren = false; buttonsArray[i].removeEventListener(MouseEvent.MOUSE_OVER, overBtn); buttonsArray[i].removeEventListener(MouseEvent.MOUSE_OUT, outBtn); buttonsArray[i].removeEventListener(MouseEvent.CLICK, clickBtn); } else{ buttonsArray[i].buttonMode = true; buttonsArray[i].mouseEnabled = true; buttonsArray[i].addEventListener(MouseEvent.MOUSE_OVER, overBtn); buttonsArray[i].addEventListener(MouseEvent.MOUSE_OUT, outBtn); buttonsArray[i].addEventListener(MouseEvent.CLICK, clickBtn); } } } setButton(); В массив buttonsTextArray заносятся надписи кнопок Последний раз редактировалось Atstek; 13.06.2009 в 12:15. |
|
|||||
|
Регистрация: May 2009
Сообщений: 33
|
Мне этот урок не поможет у меня намного сложней движения чем тамБ так как в уроке всеголишь при нажатии она отъезжает влево а посли нажатия другой кнопки она возвращается.Мне же надо что бы принажатии на другую кнопку те кнопки(кнопка) которые были нажаты сначало вернулись, а потом вместе начали движение влево(во как).
Неделю назад видел пообный тутор только там с музыкальными пластинками так делали(кажется, с пластинками), а щас его найти не могу. Может кто встречал такой урок , дайте плз ссылку , если есть |
|
|||||
|
я tweenlite никогда не использовал, но у меня есть похожие конструкции. Задайте каждой кнопке порядковый номер и при клике используйте цикл, плюсая единицу... у меня работает....создал свою функцию которая двигает всё что мне надо, думаю с вызовом tweenlite это тоже прокатит
Добавлено через 14 минут Если конкретезировать, то дело обстоит так.... кнопка как класс получает порядковый номер при создании, передаётся в конструктор, конструктор класса передаёт её в свойство класса, и потом при нажатии вызывается функция которая двигает экземпляры со свойством больше вызывающего... не читабельно, но работает |
|
|||||
|
Регистрация: May 2009
Сообщений: 33
|
А кодом показать не сможешь??
|
![]() |
![]() |
Часовой пояс GMT +4, время: 08:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|