‘javascript’ カテゴリーのアーカイブ

javascriptでマウスホイール検知

2007 年 5 月 2 日 水曜日

いまさらだけどflashでマウスホイール検知をやってみる。マックでも動くようにとexternalInterfaceでjavascriptと連携。要はアップ方向かダウン方向にホイールが回ってるかをif文で判別してflashに返してやればよいわけ。自作スクロールクラスに組み込むと良さげ。

http://adomas.org/javascript-mouse-wheel/

flashとjavascriptとphpでやりとりするには

2007 年 4 月 12 日 木曜日

flashとjavascriptのやり取りは「ExternalInterface」を使う。

JAVASCRIPT:
  1. function getJavascript()
  2. {
  3.    var obj = new Object();
  4.    obj.infoTitle = document.URL;
  5.    obj.infoUrl = document.title;
  6. }

ACTIONSCRIPT:
  1. import flash.external.*;
  2.  
  3. if(ExternalInterface.available)
  4. {
  5.    infoObj = ExternalInterface.call("getJavascript");
  6.    title.text = infoObj.infoTitle;
  7.    url.text = infoObj.infoUrl;
  8. }
  9. else
  10. {
  11.    title.text = "ExternalInterfaceを利用することが出来ません";
  12. }

javascriptからのデータがinfo.objの中に格納される。

続いて、flashとphpのやり取りは「sendAndLoad」を使う。

PHP:
  1. <?php
  2.    $message= $_POST["message"];
  3.    echo "responce=".$message."をflashに返します";
  4. ?>

ACTIONSCRIPT:
  1. //-----[送受信オブジェクトのインスタンス化]
  2. var loadLV:LoadVars = new LoadVars();
  3. var sendLV:LoadVars = new LoadVars();
  4.  
  5. //-----[渡したい変数名と値を定義]
  6. sendLV.message = "hoge";
  7.  
  8. //-----[コールバック関数を定義]
  9. loadLV.onLoad = function(success)
  10. {
  11.    if (success == true)
  12.    {
  13.       trace(loadLV.responce);
  14.    }
  15.    else
  16.    {
  17.       trace("通信エラー");   //hogeをflashに返します"
  18.    }
  19. }
  20.  
  21. //-----[sendAndLoadメソッドを使ってデータの送受信を行う]
  22. sendLV.sendAndLoad("phpファイルのパス", loadLV, "POST");