Опубликовать значения в URL с помощью Flash - PullRequest
0 голосов
/ 07 декабря 2011

Я погружаюсь в разработку Flash и задаюсь вопросом, как разместить некоторые переменные в URL. Допустим, пользователь играл во Flash-игру, упакованную как EXE-файл или SWF-файл, встроенный в HTML-файл, хранящийся на компьютере пользователя, а не с какой-либо веб-страницы, и хотел бы зарегистрировать счет, заполнив простую форму, указав только адрес электронной почты и нажатием кнопки.

Можно ли это сделать, даже если приложение Flash отсутствует на активной веб-странице?

Ответы [ 2 ]

3 голосов
/ 07 декабря 2011

Если на веб-странице или на локальном компьютере, это тот же метод.Вы можете сделать что-то вроде:

(непроверенный код)

var request:URLRequest = new URLRequest("http://yoursite.com/yourpage.php");
request.method = URLRequestMethod.POST;     
request.data = "emal=someemail@email.com&score=79597";

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, callWasMade);
loader.addEventListener(IOErrorEvent.IO_ERROR, callFailedIOError);
loader.load(request);

function callWasMade(evt:Event):void{
  //Optionally check server response
}
function callFailedIOError(evt:IOErrorEvent):void {
   //Holy crap I can't reach my server!
}
2 голосов
/ 07 декабря 2011

Возможно, но вам нужны некоторые серверные сценарии, такие как PHP. Проверьте http://www.gotoandlearn.com для некоторых удивительных уроков.

Обычно вы создаете URLRequest для скрипта на стороне сервера и отправляете вместе с ним некоторые данные. Вы можете использовать URLVariables для передачи данных в скрипт. Затем скрипт может получить данные и сохранить их в базе данных или отправить по почте.

Это из документов Adobe: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLVariables.html

public function URLVariablesExample() {
            var url:String = "http://www.example.com/script.php";
            var request:URLRequest = new URLRequest(url);
            var variables:URLVariables = new URLVariables();
            variables.exampleSessionId = new Date().getTime();
            variables.exampleUserLabel = "guest";
            request.data = variables;
            navigateToURL(request);
        }

На стороне PHP вы можете сделать что-то вроде этого:

$exampleSessionId = $_REQUEST['exampleSessionId'];
$exampleUserLabel = $_REQUEST['exampleUserLabel'];
$message = "Id: " . $exampleSessionId . ", Label: " . $exampleUserLabel;
mail('toaddress@example.com', 'My Subject', $message);
...