![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 194
|
имеется следующий код
var stl:Object = {x1:1}; function info() { trace("Свойство переопределено!"); } stl.watch("x1",info); clip1_mc.onPress = function() { stl.x1 = 2; } clip2_mc.onPress = function() { trace(stl.x1); } При нажатии на первую кнопку выводит: Свойство переопределено! При нажатии на выторую: undefined , т.е. ни видит свойство "x1" Не понятно почему? Подскажите кто знает
__________________
нормально делай - нормально будет |
|
|||||
|
var stl:Object = {x1:1};
function info(id,oval,nval) { trace("Свойство переопределено!"); return nval; } stl.watch("x1",info); clip1_mc.onPress = function() { stl.x1 = 2; trace(stl.x1); } clip2_mc.onPress = function() { trace(stl.x1); } так попробуй |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 194
|
спасибо!
но ты не мог бы мне слегка пояснить как это получается? я что то не врубился. я так понял "oval" содержит старое значение а "nval" новое после "return nval" новое значение присваивается функции "info" но какая связь этой функции со свойством "stl.x1"?
__________________
нормально делай - нормально будет |
|
|||||
|
когда ты устанавливаешь значение переменной, на которую установлен watch, на самом деле вызывается функция, которую ты указал в параметре watch, а значение, возвращаемое этой функцией передается уже в переменную
|
|
|||||
|
Регистрация: Sep 2005
Сообщений: 194
|
понятно, спасибо
еще вопрос если не затруднит :-) class Still { private var x0:Number = 100; } var stl:Object = new Still(); trace(stl.x0); Выводит 100! по идее свойство должно быть скрытым? Интересная особенность если указать var stl:Still= new Still(); то свойство не видно, почему такая разница?
__________________
нормально делай - нормально будет |
|
|||||
|
думаю дело в наследовании свойств от родительсвого класса, а как там на самом деле пусть спецы по ООП подскажут...
|
|
|||||
|
Регистрация: Sep 2005
Сообщений: 194
|
спасибо еще раз
__________________
нормально делай - нормально будет |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|