[AS3]phpやPerl等から送り返された情報のFlashでの取得

このQ&Aのポイント
  • AS3でphpやPerlから送られてきた情報をFlashで取得する方法について知りたいです。
  • PHPのソースコード中でデータをFlashに送り返す方法について教えてください。
  • ActionScript 3.0を使用しているので、どのような形式で情報をFlashに出力する必要があるのか知りたいです。
回答を見る
  • ベストアンサー

[AS3]phpやPerl等から送り返された情報のFlashでの取得

http://www.at-sonic.com/blog/archives/2008/02/as3php.php のような感じのプログラムを作っています。 このPHPのソース中、データをFlashへ送り返す部分で、 echo "comp=" . $comptxt; と、compにcomptxtを代入する形でFlashへ渡しています。PHP等でPrintした場合などは、FlashへHTMLのテキストデータをブラウザでなくFlashへ返しているものと思うのですが、Flashへ送り返す情報は、どの様な形式で出力させないといけないのでしょうか? 当方ActionScript 3.0をCS3で使用しています。

  • Flash
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>PHP等でPrintした場合などは、FlashへHTMLのテキストデータをブラウザでなくFlashへ返しているものと思うのですが これは勘違いです、単に相手の出力をFlashが受けるのか ブラウザが受けるのかです さて、自由にデータを返却することを考えると xmlで返答したらいかがでしょうか? Flash(AS3)側でXMLをパースする必要はありますが、 自由にデータを渡せますよ

glarelance
質問者

お礼

解答ありがとうございます。 なるほど、返されるevent.target.dataのデータは結局テキストデータだから、XMLクラスで読み込むか、 http://f-site.org/articles/2007/02/08061116.html のように、URLVariablesで読み込める形で出力してやれば良いということですね。 つまり送り返されているデータは、テキストデータをロードしたのとなんな変わらないということですか。 どうもありがとうございました。

関連するQ&A

  • AS3とPHP

    Actionscript3.0で データの送信をしようと いろいろなサイトを調べて http://www.at-sonic.com/blog/archives/2008/02/as3php.php をまねてみたとこと FireFoxでは動くのにIEでは動きません なので困っています。 原因はどんなことが考えられますか?

  • phpからas3へ配列の渡し方を教えてください。

    phpからas3へ配列の渡し方を教えてください。 ActioScript3.0からphpへ変数を渡し、phpでsqlによって得たデータを配列に格納し、その配列をas3へ渡そうと思っています。 変数だと以下記述で実現できましたが、もしsqlが複数件取得した際には対応できていません。 ■php側からas3へ変数を渡す箇所 echo "comp=".$teamname; ■as3側の受け取り箇所 function getTeamInfo(event:Event):void { var team_info:URLVariables=new URLVariables(event.target.data); st_team=team_info.comp; } 以上、よろしくお願いします。

    • ベストアンサー
    • Flash
  • ActionScript3.0によるPHPへの変数の送信について

    はじめまして。 現在、FlashとPHPを用いたシステムを制作中なのですが、FlashからPHPへの変数の送信でつまづきました。 ネット上で調べてみてもAS3で解説しているサイトはほとんど見つからず、見つかっても自分の理解が悪いのかうまく行かない状況です。 状況としては下記のようなAS3とPHPを実行しています。 AS3から値をPOSTしてPHPで表示、それを読み取ってFlashでtraceしています。traceで1234は返ってきているのですが、PHP側ではcomp=しか表示されません。初歩的なミスだと思いますが、どこが悪いのかアドバイスいただければ幸いです。 よろしくお願いします。 環境 Flash CS3 Apache2.2 PHP5.2.6 ソース AS3 System.useCodePage = true; var request:URLRequest = new URLRequest ( "http://localhost/sample/FlashToPHP.php" ); //PHPへPOST送信 request.method = URLRequestMethod.POST; var variables:URLVariables = new URLVariables(); //送る変数 variables.num = "1234"; request.data = variables; var loader:URLLoader = new URLLoader (request); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, onComplete); loader.load(request); function onComplete (event:Event):void{ var vars:URLVariables = new URLVariables( event.target.data ); trace( vars.comp ); } PHP <?php //変数を受け取る $comment = $_POST['num']; $comp = $comment; echo "comp=".$comp; ?>

    • ベストアンサー
    • Flash
  • perl内でPHPを動かす?

    perlでhtmlを書き出しています。 そのhtmlにPHPを埋め込みたく思い、書き出されたhtmlにPHPを記述して phpとして保存。動作を確認しました。 perlで書き出している全てのページにこのPHPを埋め込みたく思い、perlの print <<EOF; ~ EOF の間に <?php ~ ?> を埋め込みましたが動きません。 当然の結果なのでしょうか… 何か方法があればご教示願います。  下記のようなページも見つけましたが、コードをperlに貼り付けても 動作しません。直接貼り付けるのではないのでしょうか? http://phpspot.org/blog/archives/2006/03/perlphp_2.html どうぞ宜しくお願いします。

    • ベストアンサー
    • Perl
  • PHPからデータをFlash(swf)に送りたいのですが

    PHPに下記のように記述し、データを ActionScript で作成したフラッシュのtarget.swfファイルに送ろうとしています。 データがtarget.swfファイルに渡らなくて困っています。教えていただけないでしょうか。 PHP側: $data="sample";********渡したいデータです。***** print" <object-----swfファイル 中略 <parameter name=\"movie\" value=\"target.swf\" ?sendData=$data> 中略 "; swfファイル側: test.text=sendData;*****渡したデータを読み出すものです。***** 環境は、連絡サーバのPHP5とActionScript2を使用しています。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPの取得情報をFlashで表示する方法

    flashについて質問です。 time.phpに現在の時間を取得する <?php echo date("Y/m/d"); ?> を書いて保存し、 それをtimeLoad.as(AS 3.0)をドキュメントクラスとするflash上で表示したいのですが、 package{ import flash.display.MovieClip; import flash.text.TextField; import flash.text.Font; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLVariables; public class timeLoad extends Sprite{ private var tf:TextField; public function timeLoad():void{ var myRequest:URLRequest = new URLRequest("time.php"); var myLoader:URLLoader = new URLLoader(); myLoader.load(myRequest); tf = new TextField(); tf.defaultTextFormat = new TextFormat("Helvetica",10,0x000000); tf.x = 0; tf.y = 0; tf.text = myLoader.data; addChild(tf); } } } tfの内容が2011.1.1などになるのが目的です。 swfファイル、swfを埋め込んだhtmlファイル、phpファイルは同じ階層にあります。 php側flash側の訂正点をご指摘いただけると嬉しいです。

    • ベストアンサー
    • Flash
  • phpとflash

    プログラム初心者です phpとas3で送受信したいです。 flash→php→flashの流れで変数を送受信させようと思います しかし、送受信はできているのですが、日本語だけが文字化けします うまくいけば。「こんにちわほげabc55」になるはずなんですが flashで表示されるのは「こんにちわق°abc55」とphpで加えた日本語が文字化けしています flashからpostされた日本語「こんにちわ」は文字化けしないで、flash→php→flashまで返ってきています flash cs5 のデフォルトの文字コードはUTF-8です phpファイルの文字コードはUTF-8でファイルを保存しています よろしくお願いします PHP <?php $comment = $_POST['com']; $comptxt = $comment."ほげabc55"; echo "comp=" . $comptxt; ?> AS3 var request:URLRequest = new URLRequest ( "test.php" ); //PHPへPOST送信 request.method = URLRequestMethod.POST; var variables:URLVariables = new URLVariables(); //↓送る変数 variables.com = "こんにちは"; request.data = variables; var loader:URLLoader = new URLLoader (request); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, onComplete); loader.load(request); function onComplete (event:Event):void{ //↓戻り値を変数に格納 var vars:URLVariables = new URLVariables( event.target.data ); t1.text=vars.comp; }

    • ベストアンサー
    • PHP
  • [as3]flashで外部phpの読み込み

    外部phpを読み込みechoで表示した値をFlash上のダイナミックテキストに表示させたいのですが、どうしても上手くいきません。 ■現状は以下のようになっています。 ・外部phpファイルにはechoにて、contents=******************** という出力結果がでます。 ・ダイナミックテキストを作りダイナミックテキスト名がname_strになっています。 ・as3のルートの1フレーム目に以下のようにasを書いています。 import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLVariables; import flash.events.Event; // [2] URLLoaderとURLRequestインスタンスの生成 var myLoader:URLLoader = new URLLoader(); var myRequest:URLRequest = new URLRequest("http://localhost.*******.php"); // [3] ロード完了時の処理をイベントリスナーに登録 myLoader.addEventListener(Event.COMPLETE, onComplete); // [4] 外部テキストファイルのロード実行 myLoader.load(myRequest); // [5] リスナー関数の定義 function onComplete (eventObject:Event) { var my_str:String = eventObject.target.data var myVars:URLVariables = new URLVariables(my_str); for (var name_str:String in myVars){ trace([name_str, myVars[name_str]]); } } ・環境はxamppにてローカルで作業をしています。 初心者でとんちんかんなことをしていまっているかもしれませんが、何卒よろしくお願い致します。

    • ベストアンサー
    • Flash
  • FlashのActionScriptについて質問です。

    FlashのActionScriptについて質問です。 Flash CS4のAS2.0を使用 ActionScriptの書き方で (1)ボタンインスタンスに書く (2)対象のインスタンスのフレームに書く (3)ActionScript専用のフレームを作成しそこへ書く 参考書等を読んでいるとActionScriptを書くときに、上記3つの方法が あり混乱しています。 それぞれ、どのような違いがあるのでしょうか?また、どのように使い分けるのでしょうか? Flashに関しては、始めたばかりの超初心者です。どうぞ宜しくお願いします。

  • 【AS3.0 変数をPHPにPOSTする方法】

    【AS3.0 変数をPHPにPOSTする方法】 開発環境:WinXP ADOBE CS4 ActionScript3.0 すいません。教えてください。 Flashで得た複数の値を外部ファイルに出力したいと考えています。 例えば、btnA・btnB・btnCという3つのボタンがあり、 ボタンをクリックすると、クリック数がカウンターになり、 その値をPHPファイルにPostしたいと考えています。 現在のソース(btnAのみ) ---------------------------------------------------------------- var req:URLRequest = new URLRequest ("http:++++++.php"); req.method = URLRequestMethod.POST; var variables:URLVariables = new URLVariables(); //送信パラメータ variables.num01 = 0; req.data = variables; var loader:URLLoader = new URLLoader (req); var are01=0 var num01=0 a_btn.addEventListener(MouseEvent.CLICK,aClick); function aClick(event:MouseEvent):void{ var num01=are01++ trace(num01) var printdata:URLVariables = new URLVariables(event.target.data); loader.load(req); } -------------------------------------------------------------- num01の数値がトレースはされているのですが、 phpの値に代入されません。 --------------------------------------------------------------- phpソース $comment = $_POST['num01']; print "rData=" . $comment;</body> ---------------------------------------------------------------- 同時に複数の値・仮にnum02・num03も同様にPHPにPOSTしたいと考えているのですが、 その際の方法がわかりません。 恐れ入りますが、ヒントだけでもよいので教えていただけないでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash

専門家に質問してみよう