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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 12.02.2004, 09:52
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 11  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
я походу ответил не в тему...мне показалось что речь шла о защите от изменения...тока щя начинаю понимать...
__________________
Portfolio

Старый 12.02.2004, 13:52
iLoveYou вне форума Посмотреть профиль Отправить личное сообщение для iLoveYou Найти все сообщения от iLoveYou
  № 12  
iLoveYou
wanted

Регистрация: Sep 2002
Сообщений: 1,737
Цитата:
Оригинал написал(а) Пушистик
Sergey"iLoveYou", тебе я даже отвечать ничё не буду...чтобы ты не мог потащится от того какие умные фразы тут ляпаешь
Цитата:
я походу ответил не в тему...мне показалось что речь шла о защите от изменения...тока щя начинаю понимать...
Би, заметь, ты повзрослел -- теперь ты не пытаешься возражать и даже имеешь силы отчасти признать свою неправоту -- раньше приходилось долго и в основном безуспешно переубеждать тебя. я безусловно рад твоим успехам единственное, жаль, что ты помнишь личные обиды, которые тебе никогда не наносили.

ЗЫ для защиты от изменения я бы использовал ASSetPropFlags:
например, ASSetPropFlags(_global, ["myvar"], 6, true);
__________________
вот тебе, революционный единоличник! вот тебе кулачество! вот тебе Союзкиножурнал!

Старый 12.02.2004, 15:08
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 13  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Оригинал написал(а) Sergey"iLoveYou"

раньше приходилось долго и в основном безуспешно переубеждать тебя. я безусловно рад твоим успехам единственное, жаль, что ты помнишь личные обиды, которые тебе никогда не наносили.
-- Киса, -- продолжал Остап, -- давайте и мы увековечимся.
Забьем Мике баки. У меня, кстати, и мел есть!
Ей-богу, полезу сейчас и напишу: "Киса и Ося здесь были"*.

Старый 12.02.2004, 15:33
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 14  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
Sergey"iLoveYou", во всём что ты говорил, говоришь и будешь говорить ты будешь прав и ни разу неправ!
__________________
Portfolio

Старый 12.02.2004, 23:42
bunker6 вне форума Посмотреть профиль Отправить личное сообщение для bunker6 Посетить домашнюю страницу bunker6 Найти все сообщения от bunker6
  № 15  
bunker6
for the lulz
 
Аватар для bunker6

Регистрация: Jul 2001
Адрес: Princeton, NJ, USA
Сообщений: 4,769
Отправить сообщение для bunker6 с помощью ICQ
штрек, новую книжку прочитал?
__________________
Jan tan ma pi pona tawa ma ale.

Старый 13.02.2004, 01:35
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 16  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Оригинал написал(а) bunker6
штрек, новую книжку прочитал?
Лет эдак в пять, прочитав вот этот кусок :

-- Кому астролябию?! Дешево продается астролябия!!
Для делегаций и женотделов* скидка!
.................................................
-- Сама меряет, -- сказал молодой человек, передавая
астролябию покупателю, -- было бы что мерять.

я понял, что дядя Стёпа - гавн

Старый 13.02.2004, 01:47
Dagi вне форума Посмотреть профиль Отправить личное сообщение для Dagi Найти все сообщения от Dagi
  № 17  
Dagi

Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
Подробное описание глобальных переменных от меня:



В чистом объектно-ориентированном программировании не существует понятия “глобальная переменная”. Все переменные (в данном случае правильнее употреблять термин “свойство”) являются локальными и не видны дальше “родного” объекта. До выхода Flash MX в ActionScript также не имелось возможности создавать глобальные переменные. Она появилась с введением особого свойства _global.
Свойство _global представляет собой указатель на объект Global (мы будем называть его именно Global, так как такой термин используется в ECMA-262), который является носителем конструкторов встроенных классов, глобальных функций и “родных” объектов ActionScript. Сохранив в нем переменную, вы сделаете ее доступной для любого исполнимого кода фильма. Более того, ее можно будет “увидеть” и из других фильмов, подгруженных в проигрыватель. Указывать при этом ее точный “адрес” не нужно.
_global.new_var=”Global”; // Этот код добавляем на первый кадр _root
// На временной диаграмме вложенного в _root клипа вводим:
trace(new_var) // Выводит: Global
Создавая глобальную переменную, важно проследить, чтобы ее имя не совпало с именем ни одного из свойств объектов, относящихся к текущей цепочке областей видимости. Это связано с тем, что объект Global завершает цепочку областей видимости любого исполнимого кода, поэтому, вполне вероятно, что до глобальной переменной интерпретатор может и не добраться, найдя подходящий элемент и “поближе”. Так, если вы вызываете переменную из кода функции, расположенной на основной временной диаграмме, то вначале на ее наличие будет проверен относящийся к функции скрипт, затем – область _root, далее – прототип конструктора MovieClip, за ним – прототип конструктора Object, и лишь затем будет анализироваться объект Global:
_global.new_var="Привет"; // Этот код расположен на основной временной
// диаграмме
trace(new_var); // Выводит: Привет
// Создаем одноименное глобальной переменной свойство в одной из областей
// цепочки видимости
MovieClip.prototype.new_var="Пока";
trace(new_var); // Выводит: Пока (прототип MovieClip расположен
// “ближе” Global)
Переопределить глобальную переменную, указав только ее имя, невозможно. При этом будет создана новая локальная переменная. Для того чтобы изменить глобальную переменную, необходимо использовать ее полный “адрес”:
_global.prop = "Привет"; // Создаем глобальную переменную
prop = "Пока"; // Пробуем переопределить глобальную переменную
trace(prop); // Выводит: Пока (была создана локальная переменная)
trace(_global.prop); // Выводит: Привет (глобальная переменная изменена
// не была)
_global.prop="Пока"; // Переопределяем переменную по точному “адресу”
trace(_global.prop); // Выводит: Пока
Для глобальных переменных в ActionScript характерна двойственная природа. С одной стороны, они действительно во многом ведут себя, как переменные. Однако, фактически, они являются свойствами объекта Global, поэтому их вряд ли можно считать стопроцентными переменными. Наглядным же доказательством этого утверждения является то, что при создании глобальных переменных не используется ключевого слова var.
Во Flash 5 свойства _global не было. Однако создавать некоторое подобие глобальных переменных все же было возможно благодаря особенностям формирования цепочек областей видимости. Дело в том, что в цепочку областей видимости любого исполнимого кода, будь то код временной диаграммы или код функции, входит прототип конструктора Object (вернее, его свойства наследует входящий в цепочку областей видимости клип-носитель кода). Следовательно, любой исполнимый код наследует хранящиеся в нем компоненты. Благодаря этому, создав свойство прототипа класса Object, мы сможем добиться практически полной имитации глобальной переменной.
Вы можете спросить, если свойства объекта Global и прототипа конструктора Object в одинаковой степени обладают глобальной видимостью, то какая разница, какой путь использовать для эмуляции глобальных переменных. А разница имеется – и весьма существенная. Чтобы ее понять, разделим термины “глобальная переменная” и “глобальное свойство”. Глобальная переменная – это переменная, доступная для любого исполнимого кода. Глобальное свойство – это свойство, наследуемое объектами всех классов. Глобальная переменная сохраняется в объекте, находящемся в вершине цепочки областей видимости любого исполнимого кода - объекте Global. Глобальное свойство – это свойство прототипа, завершающего цепочку прототипов, присущую любому объекту. В ActionScript таким прототипом является прототип конструктора Object Разделение понятий “глобальная переменная” и “глобальное свойство” осложняется тем, что прототип конструктора Object входит как в любую цепочку прототипов, так и, косвенно, в любую цепочку областей видимости (что связано с тем, что код располагается на кадре временной диаграммы). По этой причине, его свойство будет доступно и в качестве переменной любого исполнимого кода, и как свойство любого объекта:
Object.prototype.new_var="Привет";
trace(new_var); // Выводит: Привет (new_var доступна для данного
// исполнимого кода)
trace([].new_var); // Выводит: Привет (new_var унаследовал класс Array)
Таким образом, свойство прототипа объекта Object можно одновременно рассматривать и как глобальную переменную, и как глобальное свойство. И это очень плохо, так как приводит к полнейшей путаницы в понятиях. Создавая глобальные переменные при помощи свойств объекта Global, вы хоть как-то сохраняете ту стройность языка, которую предусматривает ECMA-262, и которая была очень сильно нарушена при реализации ActionScript.

Старый 13.02.2004, 11:13
bit_studio вне форума Посмотреть профиль Отправить личное сообщение для bit_studio Найти все сообщения от bit_studio
  № 18  
bit_studio
 
Аватар для bit_studio

Регистрация: Nov 2003
Адрес: Israel
Сообщений: 79
Отправить сообщение для bit_studio с помощью ICQ
Цитата:
Оригинал написал(а) Dagi
Подробное описание глобальных переменных от меня:....
Вот теперь все понятно... Санкс

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

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

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


 


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


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