AS3とPHPの連携方法のサンプル。
PHPに数字を2つ渡してその和を受け取ります。
サンプルはこちら。
以下、ソースです。
AS3側
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import flash.text.TextField;
[SWF(backgroundColor="0xFFFFFF")]
public class php_access extends Sprite
{
// PHPに渡す変数
private const A:int = 10;
private const B:int = 12;
public function php_access()
{
// ステージの設定
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
// リクエストの準備
var req:URLRequest = new URLRequest("PHPファイルまでのパス");
req.method = URLRequestMethod.POST;
// PHPに渡すパラメータ
var param:URLVariables = new URLVariables();
param.a = A;
param.b = B;
req.data = param;
// ローダー
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(req);
}
// 通信が成功したら実行される関数
private function onComplete(e:Event):void
{
var loader:URLLoader = e.target as URLLoader;
loader.removeEventListener(Event.COMPLETE, onComplete);
// 結果を表示
var result:String = loader.data as String;
var t:TextField = new TextField;
t.width = 400;
t.text = "パラメータAとBをPHPに渡してその和を受け取ります。\n\n"
t.appendText(A + " + " + B + " = " + result);
addChild(t);
t.x = t.y = 10;
}
}
}
PHP側
<?php # AS3から数字を受け取る $a = $_POST['a']; $b = $_POST['b']; # 計算 $sum = $a + $b; # 出力 echo $sum; ?>