Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.04.2006, 13:25
STILL.05 вне форума Посмотреть профиль Отправить личное сообщение для STILL.05 Найти все сообщения от STILL.05
  № 1  
Ответить с цитированием
STILL.05

Регистрация: Sep 2005
Сообщений: 194
Attention проблема с watch()

имеется следующий код
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"
Не понятно почему? Подскажите кто знает
__________________
нормально делай - нормально будет

Старый 24.04.2006, 13:59
son_of_war вне форума Посмотреть профиль Отправить личное сообщение для son_of_war Найти все сообщения от son_of_war
  № 2  
Ответить с цитированием
son_of_war

Регистрация: Mar 2006
Сообщений: 125
Отправить сообщение для son_of_war с помощью ICQ
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);
}

так попробуй

Старый 24.04.2006, 14:10
STILL.05 вне форума Посмотреть профиль Отправить личное сообщение для STILL.05 Найти все сообщения от STILL.05
  № 3  
Ответить с цитированием
STILL.05

Регистрация: Sep 2005
Сообщений: 194
спасибо!
но ты не мог бы мне слегка пояснить как это получается?
я что то не врубился.
я так понял "oval" содержит старое значение а "nval" новое
после "return nval" новое значение присваивается функции "info"
но какая связь этой функции со свойством "stl.x1"?
__________________
нормально делай - нормально будет

Старый 24.04.2006, 14:17
son_of_war вне форума Посмотреть профиль Отправить личное сообщение для son_of_war Найти все сообщения от son_of_war
  № 4  
Ответить с цитированием
son_of_war

Регистрация: Mar 2006
Сообщений: 125
Отправить сообщение для son_of_war с помощью ICQ
когда ты устанавливаешь значение переменной, на которую установлен watch, на самом деле вызывается функция, которую ты указал в параметре watch, а значение, возвращаемое этой функцией передается уже в переменную

Старый 24.04.2006, 14:22
STILL.05 вне форума Посмотреть профиль Отправить личное сообщение для STILL.05 Найти все сообщения от STILL.05
  № 5  
Ответить с цитированием
STILL.05

Регистрация: Sep 2005
Сообщений: 194
понятно, спасибо
еще вопрос если не затруднит :-)
class Still {
private var x0:Number = 100;
}

var stl:Object = new Still();
trace(stl.x0);

Выводит 100! по идее свойство должно быть скрытым?
Интересная особенность если указать var stl:Still= new Still();
то свойство не видно, почему такая разница?
__________________
нормально делай - нормально будет

Старый 24.04.2006, 14:31
son_of_war вне форума Посмотреть профиль Отправить личное сообщение для son_of_war Найти все сообщения от son_of_war
  № 6  
Ответить с цитированием
son_of_war

Регистрация: Mar 2006
Сообщений: 125
Отправить сообщение для son_of_war с помощью ICQ
думаю дело в наследовании свойств от родительсвого класса, а как там на самом деле пусть спецы по ООП подскажут...

Старый 24.04.2006, 14:38
STILL.05 вне форума Посмотреть профиль Отправить личное сообщение для STILL.05 Найти все сообщения от STILL.05
  № 7  
Ответить с цитированием
STILL.05

Регистрация: Sep 2005
Сообщений: 194
спасибо еще раз
__________________
нормально делай - нормально будет

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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