Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Подсказка над кнопкой (http://www.flasher.ru/forum/showthread.php?t=78171)

Леший62 10.04.2006 22:03

Подсказка над кнопкой
 
Всем привет. У меня 2 вопроса:
1. Как сделать всплывающюю подсказку при прохождении указателя мышки над областью кнопки?
2. Как сделать пролистывание по кадрам? То есть человек жмёт на кнопку и появляется 2-ой кадр, и так обратно?
:away:
Спасибо за поддержку

Takato 10.04.2006 22:13

Цитата:

Как сделать всплывающюю подсказку при прохождении указателя мышки над областью кнопки?
Нарисовать подсказку во втором кадре кнопки


Цитата:

2. Как сделать пролистывание по кадрам? То есть человек жмёт на кнопку и появляется 2-ой кадр, и так обратно?
Прописать экшен скриптом переход на нужные кадры при нажатии

Леший62 11.04.2006 00:57

А если по конкретней? Расплывчато и в общих чертах я представляю...а как это должно правильно выглядить не знаю :(

xcho_ 11.04.2006 01:13

когда делаешь кнопку (нижимаешь Ф8,выбираешь "кнопку" и жмешь "ОК")..у нее во втором кадре (кадр называется "при наведении") рисуешь дополнительно то что надо...ту подсказку,что тебя интересует))

есть скрипт перехода: gotoAndStop(n) - где n -номер кадр,к которому переходишь...этот скрипт надо писать на кнопке....
вот вообщем)))
советую почитать книжку: "Флеш для начинающих"- там тоже всякое написано...

Nidl 11.04.2006 01:13

Девочка Takato научилась сама научи другова ")

На первый вопрос :

Код:

stop();
//аттач)))какая великая вещь)))для того чтобы саттачить мувик из библиотеки
//нужно сначало зайти в библиотеку , кликнуть правой кнопкой мыши
//на нужном нам мувике зайти в Linkage и поставить галочку напротив
//Export for Action Script , и задать ему имя которое мы будем изпользовать
//в нашем скрипте (попробуй посмотреть как ето сделал я )))
//каждый раз аттача мувик необходимо ему задовать новое имя и
//новый слой смотри )  attachMovie("buttonmovie","buttonmovie1",1);
// далее для нового мувика уже будет так attachMovie("buttonmovie","buttonmovie2",2);
attachMovie("buttonmovie","buttonmovie1",1);
_root.buttonmovie1._x=135;//координаты по оси х
_root.buttonmovie1._y=100;//координаты по оси у
_root.buttonmovie1._alpha=50;//степень яркости ) если нуна 100 то не задаем оно и так будет))
//задаем свойства или скажем манеру поведения сатаченной кнопке)))
_root.buttonmovie1.onEnterFrame = function() {
//задаем свойства кнопки на нажатие ) если мы нажмем кнопочку
//то перейдем на страничку с указанным адресом))
this.onPress = function() {
getURL("http://www.flasher.ru");
}
//тута мы проверяем если курсор на кнопке то кнопка повышает свою яркость
//но 80% и приобретает белый цвет))))
this.onRollOver = function() {
myColor = new Color(this);
myColor.setRGB(0xFFFFFF);
this._alpha=80;
}
//опять же проверка ) если мы уберем курсор с кнопочки то она вернет
//прежний цвет ) и яркость )))
this.onRollOut = function() {
myColor = new Color(this);
myColor.setRGB(0x6699FF);       
this._alpha = 50;
}
}
//если у тебя на сцене есть обьекты которые должны быть выше уровнем саттаченного мувика
//то нуна задать сей код на мувик---мувик.swapDepths(10);где 10 ето уровень)))
//если тебе нуна создать кнопку которая будет открывать ссылку в новом окне то
//задай сей код на нажатье етой кнопки)))  ---  getURL("http://www.flasher.ru","_blank");
//если нуна создать кнопку ссылку на твою почту то нуна так ---getURL("mailto:696969oxy@mail.ru", "_blank");
//
//и так делай для каждой кнопки )))чтобы тебе было легче понять я кину вариант для второй кнопки)))
//
attachMovie("buttonmovie","buttonmovie2",2);
_root.buttonmovie2._x=415;
_root.buttonmovie2._y=106;
_root.buttonmovie2._alpha=50;
//можно также задовать размеры саттаченого мувика для етого изпользуй команды
//_width - ето ширина и _height - ето высота)))вот посмотри)) также для етого годится _yscale и _xscale)))
_root.buttonmovie2._height=42;
_root.buttonmovie2.onEnterFrame = function() {       
this.onRelease = function() {
getURL("http://www.flasher.ru","_blank");
}
this.onRollOver = function() {
myColor = new Color(this);
myColor.setRGB(0xFFFFFF);
this._alpha=80;
_root.attachMovie("podscazca","podscazca1",3);
_root.podscazca1._x=275;
_root.podscazca1._y=200;
}
this.onRollOut = function() {
myColor = new Color(this);
myColor.setRGB(0x6699FF);       
this._alpha = 50;
_root.podscazca1.unloadMovie();
}
}

На второй вопрос : вешай на кнопку команды :
Код:

nextFrame();
//или
prevFrame();

P.S. это все просто , если непонятно скажи сделаю исходником )

xcho_ 11.04.2006 01:16

а зачем аттачи-то???
не думаю,что автор топика после твоего написаного спать будет!!!))))))))

Nidl 11.04.2006 01:17

Привычка )

Takato 11.04.2006 02:02

Цитата:

Девочка Takato научилась сама научи другова ")
А?.. Э?..

Или это типа упрёк мне что я отвечаю на вопрос сухими предложениями в одну строчку?

Homo Sapiens 11.04.2006 02:08

Цитата:

Сообщение от Takato
Нарисовать подсказку во втором кадре кнопки

Извращение какое.
Код:

class TipManager extends MovieClip
{
        private var _delay:Number = 500;
        private var _inter:Number = 0;
        private var _mes:String;
        private var _tip;
       
        private static var _allTips:Array = new Array();
       
        private function TipManager(mes:String)
        {
                _mes = mes;
                /*_root["onMouseMove"] = function()
                {
                        trace(_root._xmouse);
                }
                */
        }
       
        public static function Add(target, mes:String):Void
        {
                //trace(this);
                var manager:TipManager = new TipManager(mes);
                target["_tipmanager"] = manager;
                target["onRollOver"] = target["_tipmanager"].Create;
                target["onRollOut"] = target["_tipmanager"].Clear;
                _allTips.push(target);               
        }
       
        private function Clear():Void
        {
                clearInterval(this["_tipmanager"]._inter);
                this["_tipmanager"]._tip.removeTextField();
        }
       
        private function Create():Void
        {
                this["_tipmanager"]._inter = setInterval(this["_tipmanager"], "Show", this["_tipmanager"]._delay);
        }
       
        private function Show():Void
        {
                _tip = _root.createTextField("tip", _root.getNextHighestDepth(), _root._xmouse + 3, _root._ymouse - 3, 100, 30);
                _tip.autoSize = true;
                _tip.background = true;
                _tip.backgroundColor = 0xFFFFDD;
                _tip.border = true;
                _tip.text = _mes;
                _tip.selectable = false;
               
                var format:TextFormat = new TextFormat();
                format.size = 12;
                format.font = "Verdana";
                format.align = "center";
                format.leftMargin = format.rightMargin = 5;
               
                _tip.setTextFormat(format);
                var w:Number = _tip._width;
                var h:Number = _tip._height;
               
                if((_tip._x + w) > Stage.width)
                        _tip._x = Stage.width - w - 10;
                if((_tip._y + h) > Stage.height)
                        _tip._y = Stage.height - h - 10;
               
                clearInterval(this._inter);
        }
}

Класс до конца не опробован, возможны баги...

Homo Sapiens 11.04.2006 02:11

Дельным предложениям по улучшению класса буду безумно благодарен.


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

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