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

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

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

Регистрация: Nov 2009
Сообщений: 1
По умолчанию Один старт для двух баннеров

Люди помогите.Сделала два флэш баннера, нужно запустить на сайте их одновременно. То есть они должны одновременно стартовать, не зависимо от загрузки, быть взаимосвязаными. По кадрам все сделала как нужно, все совпадает. Но наш админ сказал,что они могут не загрузиться одновременно. И все пропадет. Я даже не знаю как называется этот код или как там его. Может кто поможет. Спасибо

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Нужно написать JavaScript функцию, которая бы при ее вызове из одной флешки передавала в другую флешку некий разрешающий параметр для синхронизации.

В каждой флешке отслеживать полную загрузку всех кадров.
Как только полная загрузка произошла, нужно начинать периодически вызывать эту JS-функцию с помощью ExternalInterface (специальный класс ActionScript для общения с внешней средой ).
Воспроизведение должно быть временно приостановлено.
Стартовать можно будет при соблюдении двух условий - при условии полной загрузки себя самой и как только будет получен разрешающий параметр извне, от другой.
Тогда обе стартуют с гарантией одновременно и только тогда, когда в браузер загрузятся обе и полностью.

После старта вызов JS функции следует прекратить.

Как вариант, разрешающий параметр можно передать один раз, "дернув" JS-функцию, но отслеживать его получение периодически уже внутри каждой флешки.

Без программиста трудно будет обойтись.


Последний раз редактировалось mooncar; 10.11.2009 в 16:11.
Старый 10.11.2009, 16:19
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 3  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Можно еще с помощью LocalConnection
код в 1 кадре 1 флэшки
Код AS1/AS2:
stop();
 
var lc:LocalConnection = new LocalConnection();
lc.onStatus = function(e:Object) 
{
    if (e.level == 'status') 
	{
		play();
		onEnterFrame = null;
    }
}
onEnterFrame = function()
{
	lc.send("lc", "startPlay");
}
код в 1 кадре 2 флэшки
Код AS1/AS2:
stop();
 
var lc:LocalConnection = new LocalConnection();
lc.startPlay = function() 
{
    play();
 
}
lc.connect("lc");
PS.
Цитата:
Я даже не знаю как называется этот код или как там его
))

Старый 10.11.2009, 16:24
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от Kuruki Посмотреть сообщение
Можно еще с помощью LocalConnection
Соединиться - да.
Но еще нужно отследить полную загрузку флешек.

Старый 10.11.2009, 16:29
Kuruki вне форума Посмотреть профиль Отправить личное сообщение для Kuruki Найти все сообщения от Kuruki
  № 5  
Ответить с цитированием
Kuruki

Регистрация: Jan 2008
Сообщений: 669
Думаю достаточно положить весь ролик в мувиклип, этот мувиклип - в первый кадр и проигрывать его (мувиклип)

Старый 10.11.2009, 19:36
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Наверное, с LocalConnection будет проще.
А вот с EI, и без записи JS на странице:
http://www.us-pro.ru/mooncar/test/baner1.html
В первом кадре ролика 1:
Код AS1/AS2:
stop();
System.security.allowDomain('www.domen.ru');
import flash.external.*;
 
var otherBaner:String = 'baner2';
var allowPlay:Boolean = false ;
var nProgress:Number = setInterval(checkLoad, 10, this);
ExternalInterface.addCallback('allowThis', null, allowPlayThis);
var javaScriptFunction:String = 'function allow () {  if (navigator.appName.indexOf("Microsoft") != -1) { window["' + otherBaner + '"].allowThis();  } else { document["' + otherBaner + '"].allowThis(); }}';
 
function checkLoad (target):Void{
	var nLBytes:Number = target.getBytesLoaded();
	var nTBytes:Number = target.getBytesTotal();
	if (nLBytes >= nTBytes && nTBytes > 0) {
		ExternalInterface.call(javaScriptFunction); //после загрузки даем знать о готовности в другую флешку
		if (allowPlay) { //после получения разрешения от другой флешки стартуем эту и убираем ф-ю проверки
			gotoAndPlay(2);
			clearInterval(nProgress);
		}
	}
}
 
function allowPlayThis() {
	allowPlay = true ;
}
Во втором все то же самое, только
Код AS1/AS2:
var otherBaner:String = 'baner1';
И в параметрах публикации нужно id в object и name в embed прописать в двух местах, как в примере по ссылке.


Последний раз редактировалось mooncar; 11.11.2009 в 01:42.
Старый 10.01.2010, 18:36
rAmantiK вне форума Посмотреть профиль Отправить личное сообщение для rAmantiK Найти все сообщения от rAmantiK
  № 7  
Ответить с цитированием
rAmantiK

Регистрация: Mar 2009
Сообщений: 13
mooncar Большое спасибо за пример,
но я еще больше залез в дебри незнания.

Мне ненужно чтоб флешки опрашивали друг друга на готовность.
мне просто нужно чтоб при наведении на кнопку1 в другой флешке вывелся текст кнопка 1. При наведении на 2-ю - текст кнопка 2.

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

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

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


 


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


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