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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.03.2006, 02:32
Alloy вне форума Посмотреть профиль Отправить личное сообщение для Alloy Найти все сообщения от Alloy
  № 1  
Ответить с цитированием
Alloy

Регистрация: Jun 2005
Адрес: Czech
Сообщений: 46
По умолчанию watch и глобальные переменные

Нужно отследить изменение переменной.
Нашел такой код
Код:
myVar=1;
nv = function()
{
trace("myVar changed");
};
this.watch( "myVar", nv );
myVar=2;
но он не работает с глобальными переменными. Как это исправить?

Старый 05.03.2006, 04:25
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 2  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Возможны 2 варианта:

1. Попробовать раскрыть полностью с помощью ASSetPropFlags (очень вряд ли)
2. Проверить область видимости функции.

Однако я бы посоветовал просто создать в _global объект некого нового класса с геттером и сеттером для свойства.

Старый 05.03.2006, 05:42
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 3  
Ответить с цитированием
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Ну, во-первых, для того чтобы сработал watch нужно изменить myVar.
Ты же просто продекларировал myVar = 1; myVar = 2. А самого события изменения не произошло. Попробуй хотя бы так:
Код:
myVar=1;
nv = function(){
trace("myVar changed");
}
this.watch( "myVar", nv );
this.onMouseUp = function(){
	myVar=2;
}
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 05.03.2006, 11:27
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
2sergwizard: myVar = 2 и есть изменение: какая разница по мышке присвоил или в кадре..
2Alloy: вот так можно
Код:
_global.myVar = 1;
nv=function() {
	trace("myVar changed");
	
};
_root.watch.call(_global,"myVar", nv);
_global.myVar = 2;


Последний раз редактировалось silin; 05.03.2006 в 11:35.
Старый 05.03.2006, 18:35
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 5  
Ответить с цитированием
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Блин, Silin, ты – как всегда – прав! А я под утро, да еще спьяну, даже и не врубился в суть вопроса, что тут про _global требуют…
Каюсь. Ты только никому не говори. А я исправлюсь. Больше не буду умничать нетрезвым.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 05.03.2006, 23:48
Alloy вне форума Посмотреть профиль Отправить личное сообщение для Alloy Найти все сообщения от Alloy
  № 6  
Ответить с цитированием
Alloy

Регистрация: Jun 2005
Адрес: Czech
Сообщений: 46
Супер!
Спасибо огромное!

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

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

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


 


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


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