Форум 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=85939)

shaltay 04.10.2006 09:06

И все-таки как сделать кнопку
 
Недавно уже задавал этот вопрос, но меня не совсем поняли.. МНе нужно сделать такую кнопку, область зоны наведения и область зоны нажатия которой несовпадают... Кто-то мне помог и прислал макет кнопки, которая при наведении открывает еще одну кнопку.. Но! Мне надо, что-б если отвести мышь от первой, то вторай кнопка исчезала.
Единственный вариант, который я полагаю должен существовать - это сделать две кнопки с граничащими зонами нажатия. И сделать на первой кнопке такой код, что-б при наведении на нее вылезала вторая и можно перемещать мышку с одной на вторую (и в итоге нажать на вторую и перейти по ссылке), а при отведении мыши от первой и от второй вторая должна исчезнуть.........
Вот.. Никто случаем не в курсе, как реализовать мою больную идею?

Juice_Green 04.10.2006 10:33

может быть это подойдет?
Код:

function drawButton(clip:MovieClip, coords:Object, color:Number):Void {
        clip.beginFill(color, 100);
        clip.lineStyle(1, 0x000000, 100);
        clip.moveTo(coords._x1, coords._y1);
        clip.lineTo(coords._x2, coords._y1);
        clip.lineTo(coords._x2, coords._y2);
        clip.lineTo(coords._x1, coords._y2);
        clip.endFill();
        }

this.createEmptyMovieClip("but1", this.getNextHighestDepth());
this.createEmptyMovieClip("but2", this.getNextHighestDepth());
this['but2']._visible = false;

drawButton(this['but1'], {_x1: 100, _y1:100, _x2: 300, _y2: 300}, 0xCCCCCC);
drawButton(this['but2'], {_x1: 150, _y1:150, _x2: 250, _y2: 250}, 0xFF0000);

this['but1'].onRollOver = function():Void {
        this._parent['but2']._visible = true;
        }
       
this['but1'].onRollOut = function():Void {
        this._parent['but2']._visible = false;
        }

this['but2'].onRollOver = function():Void {
        this._visible = true;
        }

this['but2'].onPress = function():Void {
        trace("Кнопка нажата");
        }


shaltay 04.10.2006 11:14

что-то я не очень понимаю. а куда первые коды вписывать??

Juice_Green 04.10.2006 11:16

вставьте весь код в главный фрейм и посмотрите результаты работы

shaltay 04.10.2006 12:45

Не, в вашем файле вторая кнопка находится в области первой, а мне хотелосьбы, что-б она была сама по себе. Но все равно спасибо за код, я его попробую применить..
И кстати, можно-ли сделать так, что-б при наведении на первую кнопку (если ее сделать мувиком) стрелка не менялась на руку?

Juice_Green 04.10.2006 13:01

по поводу руки смотреть свойство useHandCursor.
вторая кнопка находится не в первой, а над ней.

shaltay 04.10.2006 13:48

Вложений: 1
Ну а надо, что-б отдельно была. В этом и сложность. Надо, что-б вторая кнопка отображалась при наведении на первую.

Я вот сделал пример, только надо что-б можно было и на вторую кнопку нажать...

shaltay 04.10.2006 14:30

а где это свойство useHandCursor??

Juice_Green 04.10.2006 14:37

собственно у самого объекта мувиклип

shaltay 04.10.2006 15:04

у меня такого нет.. у меня 2004 флэш. может, там нет такого?
а что с кнопкой?


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

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