Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Изучение Flash MX. Курс для начинающих и профессионалов. Связывание Flash с PHP и MySQL


Обучение по Flash MX.

Связывание Flash с PHP и MySQL. (15.11.2006)


Автор статьи: Александр Манжулов

Сайт: http://www.helpexe.ru/

Магазин: http://www.shop.helpexe.ru/

Форум: http://www.forum.helpexe.ru/

E-mail: admin@helpexe.ru или mail@helpexe.ru

Архив рассылки: http://subscribe.ru/catalog/comp.paper.flashhelp

Пример для этого урока: http://www.helpexe.ru/effects/effect_14/sendnread.zip



Здравствуйте, уважаемые подписчики !




Интересная тема форума (http://forum.helpexe.ru/viewtopic.php?p=854):

Как плавно поменять цвет MovieClip'а

Здравствуйте.

Есть желание сделать анимацию изменения цвета с одного на другой некоего объекта. Опишите, пожалуйста, способы создания такого эффекта: при помощи анимации или при помощи ActionScript. читать дальше >>>




Мы с вами, уважаемые читатели, добрались до очень интересной темы, которая волнует многих флешеров. А именно – как связать Flash и MySQL?

Я хочу показать вам пример передачи/приёма данных в/из MySQL посредством PHP. Мы будем делать два Flash-клипа. В одном клипе пользователь будет перемещать объект по сцене. Его координаты будут передаваться в базу данных, откуда их будет считывать другой Flash-клип и размещать свой объект в соответствии с принятыми координатами.

Рекомендую для данного урока использовать вэб-сервер «Джентльменский набор Web-разработчика», который вы можете скачать по адресу http://helpexe.ru/download/base_pak.exe Его установка очень проста. С его помощью вы сможете отлаживать своё сетевое приложение прямо у себя на компьютере.

После установки и запуска пакета зайдите по ссылке http://localhost/Tools/phpmyadmin/. Вам нужно будет создать базу данных mytest, в ней - таблицу coords со следующими полями:

Поля x и y нам будут нужны для передачи координат между клипами, а поле id нам нужно будет для контроля над операциями.

В данной статье мы не будем рассматривать основы администрирования phpMyAdmin. Эту информацию вы можете поискать в сети.

Я могу указать пару ссылок на страницы, где вы найдёт полезную информацию по SQL-запросам, а так же, как эти запросы совершать из PHP. Вот эти ссылки:

http://www.myphp.net.ru/lessons/index.php?15
http://www.myphp.net.ru/lessons/index.php?16

Итак, начнём творить!



Клип, отправляющий данные

Начните с чистого нового документа. На сцене нарисуйте любой объект, например квадрат, и конвертируйте его в кнопку. Не снимая выделения с созданной кнопки, конвертируйте её в муви клип. В итоге у нас получится муви клип, в котором находится кнопка.

Сразу же на панели инспектора Свойств (Property) дайте созданному муви клипу имя образца drag_mov.

Сделал я так для того, что бы было легче использовать нужные нам в данный момент скрипты. Дальше вы всё поймёте.

Дважды кликните по только что созданному муви клипу, что бы перейти к его редактированию. Тем самым вы выделите кнопку, которая вложена в данный муви клип.

Не снимая выделения с кнопки, в главном меню выберите Window->Actions (или нажмите клавишу F9), что бы открыть панель Действий (Actions). Вставьте следующий код:

on (press) {
 this.startDrag();
 this.onEnterFrame = function() {
  _root.loadVariables("http://life.ru/sql.php?cordx="+Math.floor(_root.drag_mov._x)+"&cordy="+Math.floor(_root.drag_mov._y));
 };
}

on (release) {
 this.stopDrag(); this.onEnterFrame=undefined;
}

Давайте посмотрим на этот код.

По событию press мы начинаем перетаскивать наш муви клип с помощью строчки this.startDrag();

Так же начинает работать строка _root.loadVariables("http://life.ru/sql.php?cordx="+Math.floor(_root.drag_mov._x)+"&cordy="+Math.floor(_root.drag_mov._y)); по событию onEnterFrame, которая всё время отправляет координаты муви клипа скрипту, по указанному URL.

Обратите внимание, что здесь адрес сайта указан, как life.ru. Этот домен я создавал у себя на локальном сервере, куда поместил необходимые скрипты. Вы можете создать домен, отличный от моего – далее я объясню, как это сделать. Так же я покажу коды скриптов, которые необходимо будет поместить в созданный домен.

Но, и никто не запрещает вам использовать вам вэб-сервер в сети Интернет...

Всё же вернёмся к «нашим баранам». Рассмотренная выше строка передаёт параметры скрипту sql.php в виде http://life.ru/sql.php?cordx=значение&cordy=значение

Это стандартный вариант передачи данных между скриптами.

Когда мы отпускаем кнопку, то возникает событие release. По этому событию объект прекращает перетаскиваться, а так же аннулируется событие onEnterFrame.



Клип, принимающий данные

Начните с чистого нового документа. На сцене нарисуйте любой объект, например квадрат, и конвертируйте его в муви клип.

Сразу же на панели инспектора Свойств (Property) дайте созданному муви клипу имя образца read_mov.

В данный момент, на главной Временной Линии Кадров (Timeline) имеется только один единственный кадр – в него и вставьте следующий скрипт:

_root.onEnterFrame = function() {
 _root.loadVariables("http://life.ru/sql_read.php?a="+Math.random());
 _root.read_mov._x = _root.sendx;
 _root.read_mov._y = _root.sendy;
};

Здесь производится обычная загрузка данных из внешнего скрипта, а именно из sql_read.php (далее так же будет приведено содержание и этого скрипта). Загруженные данные – ни что иное, как координаты для муви клипа. Получение данных из скрипта и присвоение координат муви клипу происходит непрерывно.



Установка вэб-сервера

Скачайте (http://helpexe.ru/download/base_pak.exe) и установите «Джентльменский набор Web-разработчика».

Теперь нам нужно создать свой домен. Вообще, домен лучше всего создавать при остановленном вэб-сервере, поэтому убедитесь, что сервер не запущен. Для этого посмотрите, нет ли в Tray’е (в правом нижнем углу экрана, там, где часы) значка в виде пера.

Зайдите в директорию директория_сервера\etc и обратите внимание на файлы:

Run.exe – запуск сервера
Restart.exe – перезапуск сервера
Stop.exe – остановка сервера

Если необходимо, остановите сервер.

Зайдите в директорию директория_сервера\home и создайте там папку с именем, например life.ru – это и будет вашим доменом. Войдите в созданную папку и создайте в ней директорию www – сюда можно будет помещать скрипты.

Т.е. путь к директории, в которую вам нужно будет поместить скрипты, будет таким - директория_сервера\home\life.ru\www

Теперь можно запустить сервер.



Создание PHP-скриптов

В нашей вэб-директории создайте файл sql.php со следующим содержанием:

<?
mysql_pconnect("localhost", "root", "") or die("Не могу соединиться");

mysql_select_db("mytest");

$tab1 = $_GET['cordx'];
$tab2 = $_GET['cordy'];

$query = "UPDATE `coords` SET `x` = '".$tab1."',`y` = '".$tab2."' WHERE `id` =1 LIMIT 1 ;";
mysql_query($query) or die("Ошибка запроса");
?>

Данный скрипт принимает данные от первой созданной нами флешки, каждый раз, как она к нему обращается. И этот скрипт записывает данные координат в заранее созданную таблицу coords, базы данных mytest.

Так же вэб-директории создайте файл sql_read.php со следующим содержанием:

<?
mysql_pconnect("localhost", "root", "") or die("Не могу соединиться");
mysql_select_db("mytest");

$result = mysql_query("SELECT x, y FROM coords");
$first_row = mysql_fetch_array($result);
echo "sendx=".$first_row['x']."&sendy=".$first_row['y']."";
?>

Данный же скрипт наоборот извлекает данные из БД и выводит их в формате sendx=значение&sendy=значение для чтения их вторым Flash-клипом.

Теперь можете протестировать приложения, предварительно настроив всё должным образом.

Эту систему можно оптимизировать, уменьшив поток передаваемых данных. Как было указано выше, данные отправляются и принимаются по событию onEnterFrame. Следовательно, что бы уменьшить количество передаваемых данных, нужно уменьшить количество кадров, передаваемых в секунду, т.е. уменьшить FPS. Сделать это можно в меню Modify->Document.

Желаю Вам творческих успехов!

Люди не замечают вашей рекламы?
Так заставьте их её заметить!

Автор: Александр Манжулов
Художественное оформление обложки: Ольга Сухова


  • Увеличьте количество кликов по своему уникальному баннеру


  • Зарабатывайте, создавая потрясающие баннеры


  • Получайте больше заинтересованных посетителей


  • Порадуйте посетителей необычной рекламой

Всё это Вы сможете узнать из моей
новой книги "Как создать плавающий Flash-баннер?"

Узнать подробнее...


ПО ВСЕМ ВОПРОСАМ, связанным с Flash, обращайтесь ко мне:

mail@helpexe.ru или help@helpexe.ru.

Обязательно постараюсь Вам помочь!!!



С уважением, Александр Манжулов
Руководитель проекта www.helpEXE.ru

E-mail: mail@helpexe.ru
тел. моб.: +7-909-443-16-39





Copyright © 2005-2006 by Александр Манжулов. Все права защищены.

Запрещено частичное или полное воспроизведение
материалов рассылки без согласования с автором.


В избранное