Форум 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)
-   -   Видимость this и обработчик onMouseUp (http://www.flasher.ru/forum/showthread.php?t=110025)

trigger 25.03.2008 20:50

Видимость this и обработчик onMouseUp
 
Находимся у мувике 'image'
Код:

var test:String = "Test1";
trace(this+"        "+test);

получаем _level0.image Test1

Тогда как:

Код:

var test:String = "Test1";
mouseListener.onMouseUp = function() {
trace(this+"        "+test);
}

получаем [object Object] Test1

Как я понимаю this указывает на другой объект (на какой?). Внутри обработчика мыши использовать абсолютные пути вместо this, другого выходя нет?

Fernando Costa 25.03.2008 21:03

Код:

var test:String = "Test1";
this.onMouseUp = function() {
trace(this+"        "+test);
}


trigger 25.03.2008 21:12

А зачем же тогда
Mouse.addListener(mouseListener);
и прочие штуки, если так просто можно...

GFreemen 25.03.2008 21:32

Цитата:

Среди событий, доступных обработ-
чикам onClipEvent(event), имелись и непосредственно связанные с мышью — mouseDown,
mouseUp, mouseMove. Они позволяли реагировать на нажатие и отпускание левой клавиши мыши,
а также давали возможность обнаруживать движение ее указателя. Во Flash MX генератором этих
событий формально стал объект Mouse. Однако клипы полностью сохранили свою восприимчи-
вость к событиям мыши (в отличие от событий клавиатуры). Поэтому вполне можно считать, что
клипы по умолчанию являются листенерами объекта Mouse (правда, им недоступно событие
onMouseWheel):
_root.onMouseDown = function():Void{ // Данный код работоспособен изначально
trace{"Кнопка мыши нажата!")
}
Если необходимо, чтобы листенером «мышиного» события был не клип, а, например, объект клас-
са Object, то он должен быть явно зарегистрирован в качестве такового при помощи метода
addListener():
var obj:Object = {};
Mouse.addListener (obj);
obj.onMouseDown = function():Void { // Изначально только клипы "слушают"
// события мыши
trace("Кнопка мыши нажата!");
};
ActionScript 2 - Программирование во Flash MX для профессионалов (Дмитрий Гурский)

trigger 25.03.2008 21:52

Спасибо, проясняется ;)


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

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