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

Ваисилй 07.08.2009 16:58

как получить объект который вызвал событие.
 
Код AS3:

function clickFigure(event:MouseEvent):void 
{
    trace("Click"+name ); //выводит имя root1
    this.alpha = 50; //меняет прозрачность для всей сцены, а мне надо только для объекта на который нажали.
}
 
Figures[Figures.length-1].pMovieClip.addEventListener(MouseEvent.CLICK, clickFigure);


Geba 07.08.2009 17:01

Код AS3:

event.target


Ваисилй 07.08.2009 17:09

Код AS3:

    trace("Click"+event.target.name );// верное имя выводит
    event.target.alpha = 50;// а альфу не меняет.
    event.target.visible = false;//тоже не работает


udaaff 07.08.2009 17:18

В AS3 функция вызывается в области видимости объекта, в котором она определена, а не через который она вызывается, как в AS2. Поэтому в данном случае this не указывает на Figures[Figures.length-1].pMovieClip.

Допустимые значения альфа от 0 до 1.

Код AS3:

event.target.visible = false;

-- должно работать, по идее.

willis83 07.08.2009 17:20

currentTarget

Ваисилй 07.08.2009 17:42

Цитата:

Сообщение от willis83 (Сообщение 841202)
currentTarget

Код AS3:

 event.currentTarget.visible = false;// работает;
 event.currentTarget.alpha = 50;// не работает;


netic 07.08.2009 17:55

Код AS3:

event.currentTarget.alpha = 0.5


Ваисилй 07.08.2009 18:04

Цитата:

Сообщение от netic (Сообщение 841227)
Код AS3:

event.currentTarget.alpha = 0.5


спасибо. работает.


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

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