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

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

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

Регистрация: Sep 2013
Сообщений: 36
Question Дождаться изменения объекта

Здравствуйте. подскажите пожалуйста, как можно дождаться "обновления" объекта и после этого выполнить код ? Суть в следующем: имеется некий объект _global.sub.sub2.my_object. имеется моя ф-ция myFunc(), которая использует этот объект и после выполнения моей ф-ции объект должен измениться. моя ф-ция выполняет действия, которые влекут изменение объекта. но проблема в том, что объект изменяется не мной, а каким-то способом, который мне не известен (черный ящик). я не знаю когда и как именно изменяется объект, но точно знаю что изменения происходят не мгновенно после выполнения моей ф-ции, а с какой-то задержкой. Подскажите как наиболее правильно выполнить в цикле мою ф-цию, что бы на каждой итерации цикла дожидаться изменения объекта. мне нужно примерно следующее:
Код AS1/AS2:
while(условие) {
  myFunc();
}
если я делаю именно так, то моя ф-ция зацикливается т.к. каждый раз она "работает" с одним и тем же объектом _global.sub.sub2.my_object потому что он не успевает измениться.

Старый 15.09.2016, 19:01
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 2  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Что значит объект изменяется?
__________________
Я заклинаю вас действовать иначе.

Старый 15.09.2016, 19:25
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 3  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
FactoREAL2,
На флеше нельзя использовать бесконечные циклы, из-за этого не произойдёт обновление экрана и всё зависнет.

Вам нужны Timer, setInterval или EnterFrame. Выбирайте что по душе. Но лучше всего, если есть такая возможность, наследовать "объект" от диспетчера и прикрутить ему распуливание событий при изменений свойств. Это самое трезвое решение.

А что за объект? Все нативные флешовые классы имеют события для уведомлений об изменениях.
__________________
Дети не должны знать о своих родителях

Старый 15.09.2016, 21:36
FactoREAL2 вне форума Посмотреть профиль Отправить личное сообщение для FactoREAL2 Найти все сообщения от FactoREAL2
  № 4  
Ответить с цитированием
FactoREAL2

Регистрация: Sep 2013
Сообщений: 36
Цитата:
Сообщение от Bletraut Посмотреть сообщение
Что значит объект изменяется?
ну к примеру он был
Код AS1/AS2:
{
  a:{x:1, y:2},
  b:{x:2, y:2}
}
а стал:
Код AS1/AS2:
{
  с:{x:4, y:1}
}
Добавлено через 12 минут
Цитата:
Сообщение от Tails Посмотреть сообщение
FactoREAL2,
Вам нужны Timer, setInterval или EnterFrame. Выбирайте что по душе. Но лучше всего, если есть такая возможность, наследовать "объект" от диспетчера и прикрутить ему распуливание событий при изменений свойств. Это самое трезвое решение.
я подозреваю что нужно что-то типа setInterval но не знаю как именно воспользоваться им. все что вы пишете про диспатчеры и события наверное правильно, но опять же, я не знаю как устроен этот "объект" (у меня нет исходного кода его реализации). что б вы понимали, я встраиваю свой код в уже работающее приложение. я вижу что есть объект, вижу все его свойства, но не знаю как он реализован. какие он там события генерирует, от какого класса наследуется и т.п. я не знаю. если это все можно узнать (без исходного кода) - подскажите как.

Старый 15.09.2016, 23:02
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 5  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Если можешь к объекту обратиться, то можешь на него и слушатель повесить. Я не уверен, но может есть Event.CHANGE?
__________________
Я заклинаю вас действовать иначе.

Старый 16.09.2016, 09:30
FactoREAL2 вне форума Посмотреть профиль Отправить личное сообщение для FactoREAL2 Найти все сообщения от FactoREAL2
  № 6  
Ответить с цитированием
FactoREAL2

Регистрация: Sep 2013
Сообщений: 36
нет. по Event.CHANGE ничего не происходит =(

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

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

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


 


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


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