![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2001
Сообщений: 179
|
А вот почему этот скрипт ничего не трасирует?
onClipEvent (load) { for (name in Math) { trace (Math[name]); } } |
|
|||||
|
Что из Math? Клип в руте?
Тогда и пиши полностью _root.Math (просто так на всякий случай что бы хотябы вопрос был понятен). Что ты хочешь увидеть? Все объекты в Math? Тогда и пиши правильно trace (_root.Math[name]._name);
__________________
Без труда не выловишь и fish-ку из пруда! |
|
|||||
|
Вообщето Math служебный объект. Я тебя неправильно понял?
__________________
Без труда не выловишь и fish-ку из пруда! |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 179
|
Угу.
Я вот для прикола хотел посмотреть все свойства слжебного объекта Math... |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
Хорошо бы конечно
но нельзя.Может я скажу чушь, но мне думается что объекты типа Math созданы средствами C++ как следсвие со всем набором средств приватности и областей видимости. Менять можно через скриптовую оболочку, переопределяя ссылки на методы..... Но если можно переопределять то это уже не то... В спецификации ECMA говорится что есть средства для управленя чтения-записи вот от туда все и идет я думаю. Было бы не плохо иметь инструментарий управления видимости полей, а то вот в for..in .... он сволочь норовит в прототип забраться, и трейсит поля прототипов, приходится на всякие ухищьрения идти. Это я так, ворчу |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 179
|
John,
а вот скажи, пожалуйста, что можно почитать в инете, чтоб осознать практическую полезность ООП во Флэше. Ты как-то говорил, если я правильно помню, что только объектный подход и используешь.... |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
"практическую полезность ООП во Флэше" ммм ... хоть статью пиши
![]() Все не так однозначно. ООП, в полном его понимании нужено только для решения сложных задач, когда необходимо пользоваться абстракциями. Когда уже не в моготу и созданную тобой систему нельзя разбить на логичные куски, а их в свою очередь... То есть если говорить о объектно ориентированному подходу к программированию во флэш, а не использовании объектных приемов. А если таких задач не стоит то и смысла програмировать объектно нет. Вторая мотивация которая может быть при использовании ООП это желание не переписывать каждый раз для похожих задач код заново, и обзавестись своими библиотечками. Тут тоже полезен ООП, когда объекты выступают в роли серверов и обеспечивают методы как сервисы. Чтобы не думать о начинке, а только пользоваться. Третья мотивация которая может подтолкнуть к использованию ООП - это желание понимать и контролировать процессы происходяжие во флэш. Без этого будет неполное понимание. Ведь ясно что и JS и сами объеты плейера строятся в объектной ирархии, что функции это не некторые программки в мувиках.... Захочется переопределять, переписывать и добовлять свои методы. Так что если будет нужно то обхектно ориентированно программировать захочется самому. Все зависит от задач. Последний раз редактировалось john; 30.10.2001 в 16:53. |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
по второму вопросу. об источниках.
На самом деле по JS и флэш в частности, как объетно ориентированным скриптовым языкам мануалов практически нет. И это правильно не настолько они сложны. Думаю что я описал в уроке на http://www.3wgraphics.com/experience/index.htm вполне достаточно, картина достаточно ясна. Можно еще кое что добавить по механизмам взаимодействия билд-ин объектов и созданных, но это не особо важно. Ведь язык то скриптовый и это правильно зачем создвать себе проблемы. Также полезно почитать спецификацию ECMA. А лучший мануал это всетаки "Объектно-ориентированный анализ и проектирование" Гради Буча. Он уж точно поставит мозги на место. |
|
|||||
|
хм а на тему обьектов, полей и прочего принадлежащего какомунить классу.
например в МСИЕ можно получить список всех полей объекта плагина: obj=document.flashId; //надеюсь понятно list="<PRE>list:\n====\n"; for (element in obj) { st+="name: <B>"+element+"</B> | value: <I>"+obj[element]+"</I>\n" } document.open(); document.write(list+"</PRE>"); document.close(); Однако любой обьект в МСИЕ наследует кучу стандартных полей и объектов, т.е. не все они могут быть полезными по применению к конкретному объекту. В случае NN плагин взаимодействия браузера с флэш-объектом представляет собой java class. А как многим известно javascript NN очень тесно с онными контактирует. При исполнении вышеописанного кода NN выведет ко всему тому еще и методы применимые к обьекту. вот еще для наглядности (NN only): obj=document.flashId.getClass().getMethods(); for(el in obj) { alert(obj[el].getName()); } или alert(document.flashId.GetVariable($version).toSource()); Вообще если уж говорить о javascript и NN, то я выбираю именно NN а не MSIE. |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
2ish это все конечно понятно, но не совсем к теме вопроса,
Насколько я понимаю можно посмотрить неприватные поля и методы плейера, А попробуй сделать трейс Math к примеру. ![]() |
![]() |
Часовой пояс GMT +4, время: 03:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|