Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   кнопки плавно «выдвигающиеся» и «задвигающиеся» (http://www.flasher.ru/forum/showthread.php?t=161307)

VGfromKazan 22.07.2011 18:49

кнопки плавно «выдвигающиеся» и «задвигающиеся»
 
Подскажите, пожалуйста, как сделать кнопки меню, которые при наведении мышки плавно выдвигаются (меняют длину, размер) и плавно задвигаются, когда мышка их покидает, хотелось бы несколько разных рецептов, а не только цельное флеш-меню, так как сайт который я буду делать, будут смотреть бухгалтерши с разных компов, может это можно сделать через программный код?
Заранее спасибо за помощь.

Azo 22.07.2011 21:45

Для плавности мы используем готовые движки типа http://www.greensock.com/tweenlite/

А так можешь и сам

Код AS3:

 
 
var rejim:int=1;
 
Knopka.addEventListener(MouseEvant.MOUSE_OVER, Over)
Knopka.addEventListener(MouseEvant.MOUSE_OUT, Out)
 
function Over(e:MouseEvant){
rejim=1;
 e.currentTarget.addEventListener(Event.ENTER_FRAME, Animation)
}
 
function Out(e:MouseEvant){
rejim=-1;
 e.currentTarget.addEventListener(Event.ENTER_FRAME, Animation)
}
 
 
 
function Animation(e:Event){
if (e.currentTarget.scaleX>=.5 && e.currentTarget.scaleX<=1)  e.currentTarget.scaleX+=.01*rejim;
else e.currentTarget.removeEventListener(Event.ENTER_FRAME,Animation);
}


КорДум 22.07.2011 22:21

Вот, на скорую руку. Передаем в конструктор клип-спрайт с изображением кнопки.
Код AS3:

package {
        import com.greensock.TweenNano;
        import flash.display.DisplayObjectContainer;
        import flash.display.Sprite;
        import flash.events.MouseEvent;
 
        /**
        * @author KorDum
        */

 
        public class ButtonAnimate extends Sprite {
                var _btn:DisplayObjectContainer;
 
                public function ButtonAnimate(buttonAsset:DisplayObjectContainer) {
                        _btn = buttonAsset;
                        _init();
                }
 
 
                private function _init():void {
                        _btn.mouseChildren = false;
                        _btn.addEventListener(MouseEvent.ROLL_OVER, _onRollOverHandler);
                        _btn.addEventListener(MouseEvent.ROLL_OUT, _onRollOutHandler);
                }
 
 
                private function _onRollOutHandler(event:MouseEvent):void {
                        new TweenNano(_btn, 1, { scaleX:2 } );
                }
 
 
                private function _onRollOverHandler(event:MouseEvent):void {
                        new TweenNano(_btn, 1, { scaleX:1 } );
                }
        }
}


Azo 23.07.2011 02:18

Я так и не скурил чем отличается tweennano от tweelite)))

КорДум 23.07.2011 02:47

Поддержкой плагинов, к примеру. А вообще, хелп как нельзя лучше отражает их разницу.


Часовой пояс GMT +4, время: 23:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.