Форум 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)
-   -   mc.onRollOver = functionName; (http://www.flasher.ru/forum/showthread.php?t=115823)

skald 11.09.2008 16:54

Вложений: 1
Hi there. :)

есть тема ...

Код:

mc.onRollOver = greyIn; //это работает нормально
но когда я пытаюсь переделать ее в :
Код:

mc.onRollOver = function () {
  greyIn;
}

функция greyIn(); применяется ко всем объектам, а не только к mc

я уже пытался в mc помещать еще один mc и оттуда запускать ... но всеравно применяется ко всей области и не добиться того эфекта, что дает mc.onRollOver = greyIn;

я создал примерчик, в котором все сразу понятно становится )))

iNils 11.09.2008 17:03

Для оформления своего кода, надо использовать теги [code][/code].

Код:

import flash.filters.*;

function blurIn (mc){
        mc.filters = [new flash.filters.BlurFilter(10, 10, 3)];
}

function blurOut (mc){
        mc.filters = [new flash.filters.BlurFilter(0, 0, 0)];
}

mc1.onRollOver = function () {
        blurIn(this);
}
mc1.onRollOut = function () {
        blurOut(this);
}

mc2.onRollOver = function () {
        blurIn(this);
}
mc2.onRollOut = function () {
        blurOut(this);
}


chingachgoog 11.09.2008 17:04

Все дело в параметре this
Протрейсите:
Код:

function blurIn (){
        trace ("this="+this)
}

и сами все поймете. :)

skald 11.09.2008 17:23

сори, забыл про теги ...
Код:

mc2.onRollOut = function () {
        blurOut(this);
}

я не туда this втыкал :quiet:

iNils у Вас в варианте работает либо один вариант либо другой.
а есть универсальный вариант?
к примеру :

Код:

mc2.onRollOut = function () {
        this.blurOut();
}

(так не работает)

chingachgoog 11.09.2008 17:53

Цитата:

Сообщение от skald (Сообщение 763759)
а есть универсальный вариант?
к примеру :

Код:

mc2.onRollOut = function () {
        this.blurOut();
}

(так не работает)

есть
Код:

mc2.onRollOut = function () {
        blurOut.apply(this);
}


skald 11.09.2008 18:30

Цитата:

Сообщение от chingachgoog (Сообщение 763768)
есть
Код:

mc2.onRollOut = function () {
        blurOut.apply(this);
}


супер ))) то что искал ... интуитивно я искал applyFunction
поэтому такая формулировка меня более чем радует )))))


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

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