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

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

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

Регистрация: Aug 2002
Адрес: Латвия, Рига
Сообщений: 52
По умолчанию Автоматическая глобализация всех переменных фильма

У меня такая проблема, есть фильм, в нем мувиклипы, они используют одни и те же переменные. Чтобы наладить обмен переменными между мувиклипами приходится из глобалайзить в одном клипе, а в другом клипе получать, что очень неудобно. Переводить глобальные переменные в локальные приходится, чтобы вывести их с помощью dynamic text.

Пример того, что я делаю:

мувиклип 1:
_global.a = a;
_global.b = b;
_global.c = c;

("запаковка" переменных в глобальные)

мувиклип 2:
a = _global.a;
b = _global.b;
c = _global.c;

("распаковка" переменных)


Этот процесс в каждом мувиклипе отнимает кучу времени и приводит к появлению ошибок по невнимательности (забыл переменныю глобализировать где-то и все уже не работает). Вопрос, можно ли как-то все переменные сделать по умолчанию глобальными во всем фильме или как-то более удобно наладить процесс работы с ними?

Старый 20.01.2006, 16:25
sher83 вне форума Посмотреть профиль Отправить личное сообщение для sher83 Посетить домашнюю страницу sher83 Найти все сообщения от sher83
  № 2  
Ответить с цитированием
sher83

Регистрация: Aug 2002
Адрес: Латвия, Рига
Сообщений: 52
хмхмхм.... Неужели никто не сталкивался с такой проблемой?

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
да собственно проблемы-то нет:
_global виден отовсюду , можешь из разных мувиков обращаться к _global.b просто к как b без всякой запаковки/распаковки..
ps: только чтобы переменной с таким же имением не было в самом мувике и по дороге (в цепочке областей видимости) к _global

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

Регистрация: Aug 2002
Адрес: Латвия, Рига
Сообщений: 52
net, ne mogu obrawatjsja bez prefixa _global. Pitalsja ja vivoditj znachenije peremennoj dynamic textom, ispoljzuja prosto imja peremennoj, no nichego ne vishlo.

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
глянь..
Вложения
Тип файла: zip Untitled-3.zip (4.5 Кб, 40 просмотров)

Старый 20.01.2006, 21:27
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 6  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Код:
MovieClip.prototype.parametersToGlobal = function(){
	for(var i in this) _global[i] = this[i];
}
MovieClip.prototype.parametersFromGlobal = function(){
	for(var i in _global) this[i] = _global[i];
}
my_mc.parametersToGlobal()

my_mc.parametersFromGlobal()
__________________
Breakcore them all!

Старый 20.01.2006, 21:50
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
во-первых можно просто использовать везде _global.a, _global.b и _global.с в обоих мувиклипах.... при каждом обращении. но это несколько громоздко.

во-вторых можно в обоих клипах ничего в глобал не передавать, а при необходимости обращаться из одного клипа в другой, узнавая текущие значения переменных.

вообще-то необходимость таких манёвров кажется мне сомнительной :)

опиши ситуацию подробнее...

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
2KidsKilla, нюанс: придется вызывать метод после определения всех свойств,
свойство, добаленное 'потом' не в зачет:
Код:
MovieClip.prototype.parametersToGlobal = function(){
	for(var i in this) _global[i] = this[i];
}

my_mc.parametersToGlobal();
my_mc.prop='myProp';

ASSetPropFlags(_global,null,0,1);
for(var i in _global) {
	if(i=='prop')trace(i)
}
зы: ба!, какие люди.. 'сомнительной', это мягко сказано

Старый 20.01.2006, 23:42
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 9  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
я не говорю о достоинствах или недостатках метода. только прототипы перевода параметров из глобала и в глобал.
и всё. ясенпень такое яп не использовал...
__________________
Breakcore them all!

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

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

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


 


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


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