[AS3]Flash(as3)とphpで通信する

AS3とphpの通信をいつも忘れてしまうので、メモしときます。

AS側

package {
	import flash.display.Sprite;
	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;
	import flash.text.TextFieldAutoSize;

	public class Main extends Sprite {

		private var _phpFile:String = "test.php";
		private var _loader:URLLoader;

		public function Main():void {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);

			var vars:URLVariables = new URLVariables();
			vars.name = "ニイ";
			vars.message = "うぉぉぉぉ";

			var request:URLRequest = new URLRequest(_phpFile);
			request.method = URLRequestMethod.POST;
			request.data = vars;

			_loader = new URLLoader();
			_loader.dataFormat = URLLoaderDataFormat.VARIABLES;
			_loader.addEventListener(Event.COMPLETE, onComplete);
			_loader.load(request);
		}

		private function onComplete(e:Event):void {
			_loader.removeEventListener(Event.COMPLETE, onComplete);

			var vars:URLVariables = new URLVariables(e.target.data);
			var tf:TextField = new TextField();
			tf.autoSize = TextFieldAutoSize.LEFT;
			addChild(tf);

			tf.text = String(vars.data1) + "\n" + String(vars.data2);
		}

	}

}

PHP側

< ?php

$name = $_POST["name"];
$message = $_POST["message"];

$text = $name . "は言いました。 「" . $message . "」";

echo "data1=" . $text . "&data2=" . "え?";

?>

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation