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

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

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

Регистрация: Dec 2010
Сообщений: 121
По умолчанию Автообновление мувиклипа

Уважаемые флеш-мастера! Подскажите, пожалуйста, можно ли сделать так, чтобы мувиклип (swf), находящийся на сервере (ну, например, на Ucoz) автоматически обновлялся через указанный мной промежуток времени, чтобы уже в обновленном виде мог подгружаться в другой swf-файл, который просматривает пользователь на своём компьютере, или телефоне? Я слышал о параметре FlashVars, но не умею им пользоваться.
Помогите мне, пожалуйста, добиться авто-обновления swf-файла!

Старый 04.10.2015, 20:08
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 2  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
обновление swf на сервере никак не затронет те swf,что уже загружены у юзеров.Для обновления необходимо чтоб родительская флэшка периодически интересовалась у сервера не было ли обновления и если было - перегружать дочернюю swf.Flashvars тут особо не поможет.Как автоматически обновлять swf на стороне сервера - не подскажу.

Старый 04.10.2015, 20:20
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 3  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от undefined Посмотреть сообщение
Как автоматически обновлять swf на стороне сервера - не подскажу.
Ну, вот я тут попробовал это реализовать, но где-то есть ошибка. Найти бы её...
Код AS3:
function callServer(e:Event):void
   {
        var sharedObj:SharedObject = SharedObject.getLocal("frameSave");
   }
 
stage.addEventListener(Event.ENTER_FRAME, callServer);

Старый 04.10.2015, 20:46
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
но где-то есть ошибка
Она тут не где-то а во всем коде в целом. Это вообще не имеет никакого отношения к серверу.
Да и даже с клиентской стороны этот код - полная бессмыслица

Цитата:
чтобы мувиклип (swf)
swf это не мувиклип, а бинарный файл флеш приложения

Старый 04.10.2015, 20:56
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 5  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от caseyryan Посмотреть сообщение
swf это не мувиклип, а бинарный файл флеш приложения
Ну, вот у меня есть код сохранения нужного кадра, чтобы при повторной загрузке ролик открылся именно на нём. Вот как мне сделать автоматическое обновление приложения, чтобы оно могло подгрузиться в другой swf открывшись именно на сохранённом кадре?
Код AS3:
import flash.net.SharedObject;
import flash.events.MouseEvent;
import flash.display.MovieClip;
 
stop();
 
var sharedObj:SharedObject = SharedObject.getLocal("frameSave");
 
prev_mc.addEventListener(MouseEvent.CLICK, prev_click);
next_mc.addEventListener(MouseEvent.CLICK, next_click);
save_mc.addEventListener(MouseEvent.CLICK, save_click);
load_mc.addEventListener(MouseEvent.CLICK, load_click);
 
function prev_click(e:MouseEvent):void
{
	(root as MovieClip).prevFrame();
}
 
function next_click(e:MouseEvent):void
{
	(root as MovieClip).nextFrame();
}
 
function save_click(e:MouseEvent):void
{
	sharedObj.data.frameNum = (root as MovieClip).currentFrame;
	trace("Сохранён кадр", sharedObj.data.frameNum );
}
 
function load_click(e:MouseEvent):void
{
	var frame:Number = sharedObj.data.frameNum;
	if(frame) 
	{
		(root as MovieClip).gotoAndStop(frame);
		trace("Загружен кадр", frame);
	}
}

Старый 04.10.2015, 21:10
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Этот код сохраняет SharedObject. Это флешевский аналог куки. Этот файлик сохраняется только на компе пользователя и к серверу ни коим образом отношения не имеет.
Цитата:
Вот как мне сделать автоматическое обновление приложения, чтобы оно могло подгрузиться в другой swf открывшись именно на сохранённом кадре?
Никак. Флеш не умеет ничего сохранять на сервере. Да и дело даже не в этом. Чтобы что-то обновлять на сервере, нужно обязательно иметь там программу, которая будет это делать. Естетсвенно эта программа должна быть написана на том языке, который может быть выполнен на этом сервере. Например PHP. Но берут меня большие сомнения по поводу того, что юкоз это позволяет
Цитата:
или телефоне?
На телефоне флеш работать не будет

Старый 04.10.2015, 21:34
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 7  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
На телефоне есть файл AIR for Android. В него запросто подгружается swf, который находится на сервере. Вот если научиться это swf там обновлять, то на телефон он попадёт в обновленном виде.

Старый 04.10.2015, 21:45
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 8  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Как уже сказали выше, для этого флешка сама должна делать запрос к серверу на предмет наличия обновленного файла. Но для этого сервер должен уметь отвечать на эти запросы. Я вижу вариант решения таким: флешка первый раз грузит файл с сервера, сервер вместе с ним присылает ей версию этого файла (которую можно придумать самому), например 1.0. После загрузки она сохраняет эту версию у себя, например через SharedObject. Потом периодически опрашивает сервер, не изменилась ли у него версия. Если сервер присылает флешке номер версии отличный от того, что сохранен у нее, то она грузит swf заново
Ну а сам номер версии можно обновлять хоть вручную, например просто записав его в текстовый файл.

На сервере при этом можно вообще не хранить никаких специальных алгоритмов. Достаточно будет простого текстового файла где-то рядом с флешкой, например version.txt, в который руками и вносить новый номер версии при обновлении swf.
Флешка пошлет URLRequest к этому файлу, например по такому адресу http://example.com/version.txt, получит содержимое этого файла. Это и будет для нее сигналом к проверке

Старый 04.10.2015, 21:55
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 9  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Вот те поверишь! Только что нашёл просто шокирующее решение! Я взял, и поместил swf в html файл, где в мета тегах прописал
<meta http-equiv="Refresh" content="15" />,
и этот html загрузил на сервер. Страница с этим swf обновляется каждые 15 сек., соответственно и swf тоже. Проверяю на телефоне, как подгружается, и о чудо! РАБОТАЕТ !!!!

Старый 04.10.2015, 21:57
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 10  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Оо. Если страница будет каждые 15 секунд обновляться, то с этим swf будет невозможно работать

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

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

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


 


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


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