![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
Первый пример.
Класс: Код в swf: Нажимаем и получаем в трэйсе _level0.mc Далее. Класс: Компилируем и получаем сообщение об ошибке следующего содержания: Цитата:
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Способ 1:
class Test {
private var _x:Number;
function Test () {
}
public function onPres():Void {
trace (this._x)
}
}
Способ 3 (самый правильный): class Test {
private var __mc:MovieClip;
function Test (mc:MovieClip) {
__mc = mc;
}
public function onPres():Void {
trace(__mc._x);
}
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А что помешало метод так и назвать onPress, не убирая последнюю букву?
Никаких объектов в метод не передается, просто у метода изменяется область видимости на область видимости клипа mc, поэтому this ссылается уже не на экземпляр класса, а на клип. Но компилятор об этом ничего не знает, более того, в целом такой подход в принципе неверный. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 264
|
iNils
Спасибо. Целых три способа. __etc Изменил название чтобы методы не повторялись, но если и так работает не буду менять. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|