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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Jan 2007
Сообщений: 302
Question Обновление содержимого броузера?

Припустим есть флеш сайт с прелоадером, всё загрузилось воспроизвелась анимация и юзьвер нажимает F5 - у меня происходит обновление с первого кадра, - тоисть обновление захватывает прелоадер.

Как сделать чтоб при о6новлении сайта анимация началась со второго кадра, - тоисть чтоб не было видно прелоадера?

У меня так сделано, - что после всей загрузки юзер должен натиснуть кнопочку - тогда начинает воспроизводится анимация.

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
SharedObject

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

Регистрация: Jan 2007
Сообщений: 302
- посмотрел в поиске по "SharedObject" - ничего не разобрался, - может кто подскажет мне что то конкретней?
Как реально это сделать?

Старый 05.05.2007, 21:07
Tardos Mors вне форума Посмотреть профиль Отправить личное сообщение для Tardos Mors Найти все сообщения от Tardos Mors
  № 4  
Ответить с цитированием
Tardos Mors

Регистрация: Jul 2006
Адрес: Новосибирск
Сообщений: 530
Отправить сообщение для Tardos Mors с помощью ICQ
Код:
var so:SharedObject = SharedObject.getLocal ("some_name");// Вместо some_name любое имя. Хотя оно не имеет значния, т.к. для каждого домена переменные хранятся отдельно
if (so.data.reload== true)
{
  gotoAndPlay ("anim");// Кадр с анимацией
}
else
{
  so.data.reload = true;
  so.flush();
  gotoAndStop ("preloading");// Кадр с прелоадером
}

Старый 05.05.2007, 22:50
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 5  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Цитата:
Сообщение от Tardos Mors
Код:
var so:SharedObject = SharedObject.getLocal ("some_name");// Вместо some_name любое имя. Хотя оно не имеет значния, т.к. для каждого домена переменные хранятся отдельно
if (so.data.reload== true)
{
  gotoAndPlay ("anim");// Кадр с анимацией
}
else
{
  so.data.reload = true;
  so.flush();
  gotoAndStop ("preloading");// Кадр с прелоадером
}
Вставил єтот код в 1 кадр - после кода прелоадера (сделал всё как написано - поставил метки). Но у меня почему то тепер при анализе ролика прелоадер доходит до 30% и автоматически начинает грузить анимацию, хотя по моему задуму нужно сначала нажать кнопочку чтоб запустилась анимация - до этого всё работало нормально..
Или я что то не так делаю?

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Только надо сажать время последнего захода на сайт, а потом проверять разницу. Час, допустим, прошел - показывай анимацию, не прошел - обновляй время последнего захода на сайт и не показывай анимацию.
Если есть php на сервере, можно открывать сессию и впечатывать flashvars-ами флажок для показа прелоудера, тогда это будет жить до закрытия броузера.

Старый 05.05.2007, 22:52
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 7  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Обновляет браузер - так как я хотел. - но пропал прелоадер..

Старый 05.05.2007, 23:52
Tardos Mors вне форума Посмотреть профиль Отправить личное сообщение для Tardos Mors Найти все сообщения от Tardos Mors
  № 8  
Ответить с цитированием
Tardos Mors

Регистрация: Jul 2006
Адрес: Новосибирск
Сообщений: 530
Отправить сообщение для Tardos Mors с помощью ICQ
Код должен стоять до прелоадера.
Если нужна кнопка - то вместо gotoAndPlay("anim") нужно написать gotoAndStop ("start_button"), и в кадре anim создать кнопку перехода на кадр с анимацией.

Хотя если честно не вижу смысла в этом SharedObject. ИМХО лучше сделать по другому - перед появлением прелоадера нужно проверить, весь ли ролик загружен. Если он в кэше браузера (т.е. загружать ничего не надо), то прелоадер не нужен, и можно сразу показывать кнопку старта анимации. А если нет, то показывать прелоадер:
Код:
// В первом кадре, перед прелоадером
if (getBytesLoaded() >= getBytesTotal())
{
  gotoAndStop ("start_button");
}
else
{
   gotoAndStop ("preloading");
}


Последний раз редактировалось Tardos Mors; 06.05.2007 в 00:01.
Старый 05.05.2007, 23:54
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 9  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
var so:SharedObject = SharedObject.getLocal ("some_name");
var now = (new Date()).getTime();
var timeOut = 1000*10;// 10 секунд, для теста
// var timeOut = 1000*60*60; // час, для работы
function refreshLastVizit(){
 so.data.lastVizit = (new Date()).getTime();
}
setInterval(refreshLastVizit, timeOut/2 );
var deltaT = now - ( so.data.lastVizit || 0 );
refreshLastVizit();
if ( deltaT <= timeOut ){
  trace ("hello again");
  gotoAndPlay ("anim");// Кадр с анимацией
}else{
  trace ("hello first time");
  gotoAndStop ("preloading");// Кадр с прелоадером
}
Tardos Mors, ваш код убивает прелоудер навсегда. flush() не нужен.


Последний раз редактировалось Kikasso; 05.05.2007 в 23:56.
Старый 05.05.2007, 23:59
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 10  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Спасибо, - сейчас попробую...
Ещё один такой наболевший вопросик.
Можно как то с помощью флеша (скрипт какой то?) проверять наличие флеш плеера перед загрузкой и если его нет - то устанавливать? (в поиске смотрел - но нашёл что это можно сделать только с помощью РНР).

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

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

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


 


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


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