Модератор форума: JonMagon |
Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии uCoz и Flash |
uCoz и Flash | ||||||||||||
![]() Предисловие. Мы опустим работу над дизайном, а затронем программирования на Action Script. Урок рассчитан на начинающих пользователей, которые знают какой программой создаются Flash ролики, но не знают как связать uCoz с этим языком программирования. Нужен ли тебе Flash в разработке сайта? Как и в любом языке программирования Flash решает какие-то задачи лучше, а какие-то хуже. Например плохо использовать его там, где нужна индексация поисковиками, заменять им текст и другую индексируемую информацию, так как поисковые системы очень плохо индексируют Flash ролики. Хорошо использовать его там, где нужна красочная анимация, которая может взаимодействовать с пользователем. Я предпочитаю использовать Flash как элемент сайта. Сайты полностью создание на Flash обычно делаются для презентационных сайтов и сайтов визиток. Главное использовать его с умом. Чего можно добиться при применении передачи динамических данных uCoz в Flash? При умелом использовании получаем новый вид модулей, элементов дизайна, функциональности. Можно сделать отличный фотоальбом, или чат. Способы связать Flash с uCoz.
А теперь подробнее о каждом методе. Передача переменных в строке. Это один из самих простых методов передачи данных в среду Flash. При вызове swf файла, вконец адреса приписываем
В итоге получиться
Что является точной копией GET запроса для сервера, только в этом случае предаем swf файлу. В данном примере мы передаем две пари "переменная = значение". И если в среде создания Flash прописать
Мы увидим.
Так можно передавать имя пользователя
В среде создания Flash просто обращайтесь к переменной USERNAME и вы получите имя пользователя. Атрибут FlashVars. При стандартном добавлении ролика на страницу используются теги OBJECT и EMBED. У них присутствует атрибут FlashVars. Передать данные в систему можно так же, как и в строке — "переменная = значение", но вписывать их нужно так:
В данном примере передается имя пользователя, и название модуля. В среде разработки стоит только обратиться к переменной. В данном примере USERNAME или MODULE_NAME. Текстовый документ. Этот пример подходит больше для статической информации, но при правильном изменении кода возможно передать и динамическую информацию. Создаем текстовый документ, и в тело вписываем пари "переменная = значение", например.
Сохраняем в кодировке UTF-8. В среде разработки подгружаем этот файл с мощью LoadVars. В uCoz нет динамических текстовых документов, но есть одна хитрость. В Action Script нет четкой синтаксической привязки к правильному форматированию переменных, по этому допускается некий отступ от стандартов. Конечно в таком случае нет 100% гарантии в правильном форматировании кода. Как же можно это использовать? В качестве текстового документа отлично подходит любая генерируемая html страница на uCoz. В тело документа можно вставить пари "переменная = значение" несмотря на лишний код, их можно удаленно загружать как текстовый документ и обрабатывать. Если хотим использовать страницу по назначению и одновременно передавать данные в Flash, то можно пари "переменная = значение" завернуть в комментарии . Еще один отличный способ, это использование информеров, как динамический текстовый документ. У каждого информера есть свой адрес вида http://site.ucoz.ru/informer/ID , где ID номер информера. Создаем нужный информер и в шаблоне все переменные передаем как "переменная = значение". XML(RSS) файл. XML - один из самих лучших способов передачи данных в среду Flash. Очень много языков программирования работают с ним. Основная структура XML файла выглядит так:
Подробнее о самом языке и его структуре можно прочитать здесь. В среде создания Flash обрабатывать XML можно с помощью класса XMLnode. Прочитать про этот класс можно здесь. uCoz динамические XML файлы в открытом виде использует при отображении Ajax окон (репутация, опросы и т.д.), а так-же для сортировки информации (сортировка товаров в модуле интернет-магазин). В исходном коде можно увидеть прямую ссылку, и использовать ее для загрузки данных в сам Flash. Если XML файлов в uCoz не так много, то RSS ленты есть у каждого модуля. Структура RSS файла вполне соответствует стандартам XML, и Flash может обращаться и обрабатывать его так же. JavaScript + Flash. Есть несколько способов связать эти два языка программирования:
SetVarible. Используем SetVarible для установки переменной ролику.
В Flash проверяем получение переменной и используем ее в коде. ExternalInterface. В Flash создаем метод, который будет обрабатывать вызовы из javascript. Формат Action Script:
Если мы создадим метод
то в JavaScript нужно будет прописать
Как видим, в uCoz нет полной поддержки передачи динамических данных в среду исполнения Flash, и используя приведенные методы мы сможем использовать только минимум тех возможностей, которые можно использовать. Спасибо в репутацию.
| ||||||||||||
Здравствуйте извините если с дурацким вопросом но не могли ли вы мне помочь
Задача Если можно код для сайта и флеша (АС3) Один пример Для меня это будет огромный шаг вперед Заранее спасибо ARDUUS ANIMO VINCIT ET PRODEST
| ||||||||||||
Да максим сам, но это ли играет роль ??? Я хоть и программирую под ас3 , но еще пока не встречался с передачей переменных из сайта во флешь
Но полазив на разных форумах понял что надо рыть под FlashVars. Единственное чего я не понимаю так почему Вы не выкладываете свои исходники и кодинг, кидая сюда лишь готовые файлы. Это не только затрудняет продвижение а даже ставит в тупик. Очень бы хотелось увидеть тут следующие Ребята вот этот код вставляем в сайт туда-то... Полно ценный урок, а не эти куски которые не понятно откуда взялись, куда еих вставлять и вообще с чем это все исть. Добавлено (27-Дек-2010, 22:48:39) ARDUUS ANIMO VINCIT ET PRODEST
| ||||||||||||
Quote (Emilman) Да максим сам, но это ли играет роль ??? Да, потому-что игру нужно подстраивать под получения данных. Quote (Emilman) Да максим сам, но это ли играет роль ??? Я хоть и программирую под ас3 , но еще пока не встречался с передачей переменных из сайта во флешь Но полазив на разных форумах понял что надо рыть под FlashVars. Правильно, но есть и еще пару ходов. Самое простое, прописать все переменные в FlashVars и обращаться к ним из _root. Таким способом очень легко передать имя пользователя и т.д. Обратно отсылать данные можно POST запросами. Quote (Emilman) Единственное чего я не понимаю так почему Вы не выкладываете свои исходники и кодинг, кидая сюда лишь готовые файлы. Это не только затрудняет продвижение а даже ставит в тупик. Я не использую Adobe Flash, а только SWISHMax4. Файлы данной программы не смогут быть прочитаны и изменены Adobe Flash. Плюс ко всему, пользователей, которые хотят что-то делать на Flash+uCoz очень мало и сделать что-то сложное на uCoz нереально. И сама система в этом направлении пока не очень движется. Quote (Emilman) Очень бы хотелось увидеть тут следующие Ребята вот этот код вставляем в сайт туда-то... Полно ценный урок, а не эти куски которые не понятно откуда взялись, куда еих вставлять и вообще с чем это все исть. Да, я не против помочь, но нужно понять более точную задачу. Что получить и куда передавать. Например передать $USER_NAME$ в флешку при загрузке. А на первых страницах я сам еще учился и в лаборатории лежит незаконченная новая запись в этот раздел. Сегодня же займусь этим. Quote (Emilman) А по поводу флешь меню это вы зря, если правильно поиграть на сайте с CSS то можно много добиться, а флешь + XML даст очень гибкое меню которое не будет обременять в постоянной перекомпиляции флешь. Флешь будет играть роль шелла а брать картинки и опции настройки из XML. Разбив большую картинку на много маленьких мы можем добиться очень быстрой загрузки довольно громоздкого меню. Также для каждый пользователь может сохранять настойки и вернувшийся на сайт или переходя сс страницы на страницу не терять навигацию Флешь это очень очень гибкая система если правильно ей пользоваться. Да, это все правильно, но в большинстве случаев пользователи хотят то, с чем справляется сам CSS. Добавлено (28-Дек-2010, 05:17:52) Quote (Emilman) У меня есть игра на флешь и я хотел бы привязывать рекорды к пользователям по: допустим по имени ведь когда пользователь авторизовался работает скрипт $USERNAME$ или $USER_ID$ Вот: Самый простой ход. Спасибо в репутацию.
Сообщение отредактировал MaxL - Вторник, 28 Дек 2010, 05:18:24
| ||||||||||||
По поводу "игру нужно подстраивать под получения данных."
Не что подставлять не надо просто игра проверяет наличии 2х переменных $USER_ID$ - ID пользователя (если гость, то 0) если нет то проверяем дальше есть в базе такой $USERNAME$ - имя пользователя (login) "да" добавляем к нему новый рекорд, "нет" создаем для него учетку и пишем результат в базу. Базу держит библиотека xml, вод и все колдовство. а по поводу кода Вы малость путаете _root.["Ваша переменная"]. (как вы описали) А вот в Action Script 3.0 немного по другому эти переменные остались там же - в корневом классе документа, но в специальном свойстве loaderInfo, класса flash.display.LoaderInfo, который отвечает за информацию загружаемого .swf-файла. И синтаксис будет выглядеть trace(this.loaderInfo.parameters["Ваша переменная"]) А так все также мне не понятен вывод Анжей "отключают флеш и картинки для экономии трафика и быстрой загрузки." Сейчас флешь завел 3д движки которые не требуя высоких ресурсов выдают довольна таки сильные вещи + Я скажу так: каждый решает что для него лучше. А раз это раздел "Динамический Flash + uCoz: всё возможно!", то надо решать задачи именно на флешь. Как правило флешь грузится долго от того что люди не знают ооп программирования и не знают что такое оптимизация ресурсов Не ищите легких решений оптимизируйте код и у вас флешь будет летать. ARDUUS ANIMO VINCIT ET PRODEST
| ||||||||||||
Quote (Emilman) а по поводу кода Вы малость путаете В ActionScript 2.0 эти переменных можно было найти в корневом клипе документа _root, и обратиться к ним можно было вот так: _root.["Ваша переменная"]. (как вы описали) А вот в Action Script 3.0 немного по другому эти переменные остались там же - в корневом классе документа, но в специальном свойстве loaderInfo, класса flash.display.LoaderInfo, который отвечает за информацию загружаемого .swf-файла. И синтаксис будет выглядеть trace(this.loaderInfo.parameters["Ваша переменная"]) Вот и разобрались ![]() Quote (Emilman) Сейчас флешь завел 3д движки которые не требуя высоких ресурсов выдают довольна таки сильные вещи + Вышло много онлайн игр которые на том же железе обрабатывают 3д шустрее 2Д (которое косят под псевдо 3д) , а мы ведем дискуссии что флешь менюшки это плохо. Alternativa постарались ![]() В данном случае я перехожу на Flex, по этому у меня еще все впереди Спасибо в репутацию.
| ||||||||||||
У меня есть проблема . Я создаю флєш видео путем вставки в один мувик нескольско роликов. Все ролики я скачал с помощью программы Any DVD Converter Professional c Youtube . После чего в той же прогге я им дал расширение FLV и просто вставил в мувик . Протестил на компе - все работает . Но когда я кинул мувик на ucoz-сайт . Он не проигровался. Даже картинки не появилось . Ничего . Что делать ? Прошу помощи!
![]()
проблему решил!!! Сообщение отредактировал JEKA11 - Среда, 29 Дек 2010, 23:11:28
| ||||||||||||
Здравствуйте можно ли в флеш вставить Ucoz коды и как их вставить???
Я хотел вставить код новости Как ето все зделать?????? | ||||||||||||
да можно, через переменные + xlm
http://as3coder.blogspot.com/2010/02...script-30.html Указание FLASHVARS в html-коде, который генерится автоматически:
Code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="language" content="en" /> <meta name="description" content="" /> <meta name="keywords" content="" /> <script src="js/swfobject.js" type="text/javascript"></script> <script type="text/javascript"> // Вот тут указываем FLASHVARS var flashvars = { userID:"123456789" }; var params = { menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "#FFFFFF" }; var attributes = { id:"Test" }; swfobject.embedSWF("Test.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes); </script> <style type="text/css"> html, body { height:100%; overflow:hidden; } body { margin:0; } </style> </head> <body> <div id="altContent"> <h1>Test</h1> <p>Alternative content</p> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p> </div> </body> </html> Добавлено (03-Янв-2011, 12:08:24) http://as3coder.blogspot.com/2010/02/flashvars-actionscript-30.html Пишем на сайте Code <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="main.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <param name="wmode" value="opaque"> <param name="allowFullScreen" value="true" /> <param name="scale" value="noscale" /> <param name="flashvars" value="your_variable_name=your_variable_value"/> <embed scale="noscale" src="main.swf" flashvars="your_variable_name=your_variable_value" allowFullScreen="true"quality="high" bgcolor="#ffffff" width="100%" height="100%" align="middle" wmode="opaque" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" /> </object> пишем во флешь package { import flash.display.Sprite; import flash.events.Event; // public class Main extends Sprite { public function Main():void { trace(this.loaderInfo.parameters["your_variable_name"]) } } } где your_variable_name - может быть $UserId$, $USERNAME$- имя пользователя (login) ARDUUS ANIMO VINCIT ET PRODEST
| ||||||||||||
Emilman, А без невалидного embed обходиться не прбовал?
Only Windows 7. Only Internet Explorer 9. Only Ms SPD, all other error.
| ||||||||||||
Извените я не понял?????
Добавлено (03-Янв-2011, 21:02:56) | ||||||||||||
Batman6165, элементарно, Watson: вставляем в шаблон главной страницы юкоз-сайта флеш (не забыв сам флеш-файл загрузить на фтп). Дизайн остальных страниц упрощаем так, дабы они легко парсились через экшенскрипт флеша, а события кнопки бы просто загружали во флеш данные этих стираниц. Итого, у нас получиться чудо, которое а)не будет индексироваться, которое б)на все старницы будет иметь и тот же адрес, с)потребует провести три ночи жёсткого секса с экшенскриптом.
Вы полюбили меня. Здесь я. (с)
| ||||||||||||
Ferro7, верно! По этому я и говорю «Использовать Flash только там, где он нужен».
Добавлено (04-Янв-2011, 17:29:05) Quote (Batman6165) я создал сайт в программе Macromedia Flash 8 Как вставить ucoz код в флеш????? Пожалуйста помогите! Загрузи по ftp и рядом с файлом будет коды вставки на сайт флеш ролика. Спасибо в репутацию.
|
| |||