![]() |
Привязка событий к экземпляру класса
class MyClass
{ var mc:MovieClip; var a = 5; function MyClass() { mc = .... mc.onMouseOver = this.onMouseOver; } function onMouseOver() { trace(this.a); } } выводит undefined... как мне нормально привязать это событие к классу? |
Функция onMouseOver работает в области mc, который не имеет св-ва
"a". Поэтому оно undefined. Тебе нужно указать корректную область видимости: class MyClass { var mc:MovieClip; var a = 5; function MyClass() { mc = .... mc.scope = this; mc.onMouseOver = this.onMouseOver; } function onMouseOver() { //trace(this.a); trace(this.scope.a); } } Либо зарегистрировать мувик как экземпляр класса Object.registerClass(idOfSymbolFromLibrary, theClass); Либо использовать ф-цию Iv-a: http://proto.layer51.com/d.aspx?f=1334 |
Цитата:
|
ЛЮБОЙ объект можно подписать на события мыши простым способой
Код:
var obj = new Object ();Mouse.addListener (this); Потом ты задаешь уже второй раз один и тот же вопрос. mc.onRollOver = Delegate.create (this, __onRollOver); |
Большущее спасибо!!!
И последний вопросик - как убить делегата? :) |
я делаю так = null, так можно?
|
файл MyClass.as
Код:
class MyClass extends MovieClip {В _root: Код:
import MyClass; |
| Часовой пояс GMT +4, время: 12:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.