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

dmitriev 27.06.2007 20:57

'Клик' за областью кнопки. Как сделать?
 
Привет!

Такая тема. Аттачиться несколько кнопок вот так:

Код:

function createSizeCombo (array) {
       
        for(var i=0;i<array.length;i++) {
                this.addBox.attachMovie('simpleBox', 'box'+i, i, { _x: 0, _y: 20*i })
                //Заполняем нужной инфой
                this.addBox['box'+i].title.text = sizes[i]
                this.addBox['box'+i].color = colors[i]
               
                if(colors != undefined) {
                        var my_color:Color = new Color(this.addBox['box'+i].bground)
                        my_color.setRGB(colors[i])
                }
                else
                {
                        var my_color:Color = new Color(this.addBox['box'+i].bground)
                        my_color.setRGB(0xFFFFFF)
                }
               
//                var color:Color = new Color(this.addBox['box'+i]);
//                color.setRGB(0x123456); // my_mc turns red
               
               
               
//                trace(this.mainBox.bground)


               
               
                //Наведение на элемент
                this.addBox['box'+i].onRollOver = function () {
                        this.gotoAndPlay(2)
                }
                this.addBox['box'+i].onRollOut = function () {
                        this.gotoAndPlay(11)
                }
                this.addBox['box'+i].onDragOut = function () {
                        this.gotoAndPlay(11)
                }
                //Нажатие на элемент
                this.addBox['box'+i].onRelease = function () {
                        mainBox.title.text = this.title.text
                       
                        if(this.color != undefined) {
                                var my_color:Color = new Color(mainBox.bground)
                                my_color.setRGB(this.color)
                        }
                        else
                        {
                                var my_color:Color = new Color(mainBox.bground)
                                my_color.setRGB(0xFFFFFF)
                        }
                       
                        closeCombo()
                }
//                var target = this.addBox['box'+i]._y
//                var target:Number = this.addBox['box'+2]._y
//                onMouseDown = function (traget:Number) {
//                        trace(target)
//                        if(_ymouse<target) {
//                                closeCombo()
//                                trace(1)
//                        }
//                }
        }       
       
        setMask()
}

нужно чтобы при клике за областью кнопок вызывалась функция closeCombo()

Спасибо.

BigDan 27.06.2007 21:01

добавь событие к _parent. Типа так:
Код:

this._parent.onMouseDown = function(){
  close();
}


dmitriev 27.06.2007 21:25

Работает, только для последнего созданного, почему?

BigDan 27.06.2007 21:29

потому что надо учитывать область видимости

dmitriev 01.07.2007 11:53

Как для каждой кнопки сделать так?

Север 02.07.2007 14:51

событие onReleaseOutside для каждой напиши
или событие onMouseUp


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

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