Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Анимация кнопки с подсветлением и затемнением (http://www.flasher.ru/forum/showthread.php?t=121366)

switchfd 14.02.2009 15:20

Анимация кнопки с подсветлением и затемнением
 
Людди добрые помогите чем можете. Хочу сделать такие же кнопки как на этом сайте. http://www.deluxe-interactive.com/:umnik2:
Я так понял здсь со временем изменяется альфа.
Если использовать элмент баттон то там нету ячейки куда можно было бы вставить мувик при выходе мыши из объекта, только на событие овер. Да и с использованием этого карявого метода. анимация как-то хреново работает(((

Тогда я пошел другим путем сделал вместо кнопки мувиклип и две анимации с осветлением и затемнением и затемнением текста, написал скрипты на событие овер клик и аут. Но загвоздка в другом когда навожу на кнопку мышью. Над ней остается обыкновенный курсор мыши а не в виде руки с пальцем. А это смотрится как-то не красиво((

Подскажите как можно сделать такие кнопки как на том сайте?:drinks:

scarbo 14.02.2009 20:37

Eror:404.Ссылку нормально вписывайте.
Цитата:

написал скрипты на событие овер клик и аут.Над ней остается обыкновенный курсор мыши а не в виде руки с пальцем.
Значит криво написали или поставили useHandCursor = false

switchfd 14.02.2009 22:16

Ниче я кривол не писал, только когда на кнопки наводишь появляется рука.... какую библиотеку нужно подгружать чтобы использовать это свойство??

Добавлено через 1 минуту
хмм хотя я на объекте ставил тру, компилятор не ругается , но и эффекта нет(
Код AS3:

package script {  
    import flash.events.*;
        import flash.display.*;
        import flash.net.URLRequest;
 
    public class menu extends MovieClip {
 
        private var l_News:Loader;
        private var l_Service:Loader;       
        private var l_Contact:Loader;
        private var l_Group:Loader;
 
        public function menu(){
                in_news.useHandCursor = true;
                stop();
 
 
 
        //------- Обработчик событий
        in_news.addEventListener(MouseEvent.CLICK, news_cListener);
        in_news.addEventListener(MouseEvent.ROLL_OVER,news_ovListener);
    in_news.addEventListener(MouseEvent.ROLL_OUT, news_ouListener)
        //in_service.addEventListener(MouseEvent.CLICK, service_cListener);
        //in_contact.addEventListener(MouseEvent.CLICK, contact_cListener);
        //in_group.addEventListener(MouseEvent.CLICK, group_cListener);
 
        }
        private function news_ovListener(e:MouseEvent):void{
 
        in_news.gotoAndPlay(1);
 
        }
        private function news_ouListener(e:MouseEvent):void{
    in_news.gotoAndPlay(6);
        }
 
 
        private function news_cListener(e:MouseEvent):void{
 
                var url:URLRequest=new URLRequest("pages/f_news.swf");
        page_cleaner();
                if (l_News==null){ 
                l_News=new Loader();
                l_News.x=200;
                l_News.y=300;
 
                addChild(l_News);
                l_News.load(url);
                } else {l_News.load(url);}
        }
 
        /* private function service_cListener(e:MouseEvent):void{
 
                var url:URLRequest=new URLRequest("pages/f_service.swf");
        page_cleaner();
                if (l_Service==null){
                l_Service=new Loader();
                l_Service.x=200;
                l_Service.y=300;
                addChild(l_Service);
                l_Service.load(url);
                }else {l_Service.load(url);}
        }
        private function contact_cListener(e:MouseEvent):void{
 
                var url:URLRequest=new URLRequest("pages/f_contact.swf");
        page_cleaner();
                if (l_Contact==null){
                l_Contact=new Loader();
                l_Contact.x=200;
                l_Contact.y=300;
                addChild(l_Contact);
                l_Contact.load(url);
                  }else {l_Contact.load(url);}
        }
 
                private function group_cListener(e:MouseEvent):void{
 
                var url:URLRequest=new URLRequest("pages/f_group.swf");
        page_cleaner();
                if (l_Group==null){
                l_Group=new Loader();
                l_Group.x=200;
                l_Group.y=300;
                addChild(l_Group);
                l_Group.load(url);
                }else {l_Group.load(url);}
        }*/

 
        private function page_cleaner():void{
                        if ( l_News!=null){ l_News.unload();}
                        //if ( l_Service!=null){ l_Service.unload();}
                        //if ( l_Contact!=null){ l_Contact.unload();}
                        //if ( l_Group!=null){ l_Group.unload();}
                        }
 
 
 
    }
}


r_r_f_r 14.02.2009 22:24

Код AS3:

buttonMode = true;
mouseChildren = false;
useHandCursor = true;


switchfd 15.02.2009 00:03

оо спасибо все получилось а mouseChildren это что за свойство??
хмм достаточно было написать 1ую строку и все заработало

Добавлено через 1 час 27 минут
Вопрос следующий, а как сделать так чтобы когда нажимешь на кнопку она постоянно светилась, а когда нажимаешь на другую кнопку предыдущая гасла

r_r_f_r 15.02.2009 11:03

Код AS3:

package 
{
        import flash.display.SimpleButton;
        import flash.display.Sprite;
        import flash.events.MouseEvent;
 
        public class Test10 extends Sprite
        {
                private static var _arrButton:Array = new Array();
 
                public function Test10()
                {
                        super();
                }
 
                private static var ind:int = -1;
                public static function addButton(value:SimpleButton):void
                {
                        ind = _arrButton.indexOf(value);
                        value.addEventListener(MouseEvent.CLICK,onClick);
                        if (ind != -1)
                        {
                                _arrButton.push(value);
                        }
                }
 
                private static function onClick(e:MouseEvent):void
                {
                        selectButton(e.target as SimpleButton);
                }
 
                private static var _selectButton:SimpleButton;
                public static function selectButton(value:SimpleButton):void
                {
                        if (_selectButton)
                        {
                                _selectButton.unSelect;
                        }
                        _selectButton = value;
                }
 
                public static function removeButton(value:SimpleButton):void
                {
                        ind = _arrButton.indexOf(value);
                        if (ind != -1)
                        {
                                value.removeEventListener(MouseEvent.CLICK,onClick);
                                _arrButton.splice(ind,1);
                        }
                }
        }
}

Примерно так, но стоит почитать о сингелтоне.

switchfd 15.02.2009 16:21

ок пасиб буду пробовать


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

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