Вход

Просмотр полной версии : передача var из swf в swf с помощью PHP


kodemak
12.02.2010, 12:32
как передать переменные из одного ролика в другой с помощью php
если можно код?

<?php
$text = $_POST['text'];
echo "&text="$text."&";
?>

таким способом не получается :rtfm:
это может передать переменные из одной swf'ки в туже самую а мне нужно чтобы и другая как то чувствовала..
помогите нубу:confused:

mooncar
12.02.2010, 12:52
Смотрите класс ExternalInterface.
Методом ExternalInterface.call вызываем функцию JavaScript, предавая ей параметром нужное значение.
Оная функция передает это значение другой флешке, для этого в этой другой флешке используется метод ExternalInterface.addCallback.
Примеры взаимодействия есть тут на форуме.

iflamberg
12.02.2010, 12:53
1) первый мувик отсылает данные на сервер. сервер сохраняет их в базе или в файле
2) другой мувик запрашивает какие изменения произошли (он должен это делать по таймеру, раз в 10 секунд, например)
3) сервер отсылает второму мувику изменения и помечает как-то, что эти данные уже отосланы

а ExternalInterface - это не то. это если у вас две флешки на одной странице.

mooncar
12.02.2010, 13:04
Да, действительно, реализация зависит от того, что представляет и где находися вторая флешка.

Нужно ли для каждого случая, для каждого использования первой флешки использовать свой вызов и передачу переменной, или должно быть одно значение для всех загрузок (пользователей).

Если первый вариант, то лучше писать значение в переменную сессии, чтобы не создавать энное количество записей в БД или в текстовых файлов. Тогда для каждого посещения будут индивидуальное значение. Механизм сессии эту задачу сильно упрощает.

Добавлено через 2 минуты

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

kodemak
13.02.2010, 11:28
я сделал просто ))

отправляю сообщение серверу он сохраняет это в в файл
&mess=hello my friend&user=friend&
флешка каждые 3 секунды 10с обращаетца к блокноту
var b = setInterval(cha, 10000);
function cha() {
loadVariables("messenger.txt", _root);
if (geting == buffer) {
stop();
} else {
сообщение
buffer = geting;
}
}
только если много людей сразу пытаются загрузит этот файл одновременно он какг бы исчезает на время (error 404) имеет ли смысл сделать много блокнотов а в PHP'ке
написать код записи во все TXT'ки?

Hauts
13.02.2010, 12:07
Возможно, не совсем по теме.

Я как-то делал из спортивного интереса флэшку, в которой на белом фоне лежали черный и серый кружки. Щелкая мышкой в любом месте, черный кружок перемещался к координатам мыши. Запуская эту флэшку в двух браузерах (два окна с одинаковыми страницами), можно было в режиме реального времени перемещать черный кружок, при этом во втором окне серый кружок перемещался в то же положение (с некоторой задержкой, конечно).

Принцип работы простой: постоянный обмен данными о координатах через пхп. Когда флэшка запускается, она получает свой id, с которым потом и обращается к пхп для сохранения координат свого кружка. Данные записываются в базу mySQL. По необходимости, все поля, которые существуют больше пяти секунд, удаляются из таблицы.

Такой принцип хорошо работал только первые минуты, потом начинало сильно тормозить.

Выглядит это все так:
23797

Так вот. Я не претендую на оригинальность и, уж тем более, на качество реализации (потому, что делал для себя), но могу выслать все исходники, если кому нужны. Думаю, что для темы "передача var из swf в swf с помощью PHP" это вполне сойдет.

mooncar
13.02.2010, 12:15
Автор, вы не чат ли задумали?
Тут это обсуждалась неоднократно.