2007.06.10
category
comments

ムービークリップのカーソルアイコンについて

AS3ではMouseEventをリスナーに登録しても標準では指アイコンに変化しない。アイコンを変える時は明示的に設定してやる必要あり。

ACTIONSCRIPT:
mc.buttonMode = true;
mc.useHandCursor = true;

buttonModeをtrueにしておかないとuseHandCursorが効かないのだ。ちょっとハマったのでメモ。

2007.06.05
category
comments

Tweenerについて

Tweenerを使ってみる。

ACTIONSCRIPT:
import caurina.transitions.Tweener;
Tweener.addTween(mc, {alpha:0, time:1, transition:"easeOutExpo", delay:0, onComplete:hoge, onCompleteParams:["hello"]});
 
hoge = function(s:String)
{
    trace(s);    //hello
}

こうする事で1秒でアルファを0にイージングして、完了後にコンプリートハンドラーよりhoge()がコールバックされて"hello"がトレースされる。基本Fuseと使い方は一緒だな。

その他のイベントパラメータはこちら。
・onStart
・onStartParams
・onUpdate
・onUpdateParams
・onComplete
・onCompleteParams
・onOverwrite
・onOverwriteParams

2007.05.17
category
comments

ドメイン間ポリシーファイルについて

異なるドメイン間でXMLとかをやり取りする場合、「crossdomain.xml」を設置する必要がある。Flash側にはcrossdomain.xmlが置かれているドメインを設定することでクロスアクセスが可能になる。アクセス許可の範囲はポリシーファイルの置かれたディレクトリ以下に限られる。毎回忘れるのでメモ。

ACTIONSCRIPT:
System.security.loadPolicyFile("crossdomain.xmlのパス");

XML:
<xml version="1.0">;
    <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
    <cross>
        <allow domain="Flash側のドメイン"></allow>
    </cross>
</xml>

2007.05.02
category
comments

AS3.0 パッケージの分類をまとめてみる

flash.accessibility   アクセシビリティに配慮した機能を実装するクラス
flash.display     描画処理を行うクラス
flash.errors      エラー情報を保持するクラス
flash.events     イベント情報を保持するクラス
flash.external     Flash Playerのコンテナと通信するクラス
flash.filters      フィルタ処理を行うクラス
flash.geom      幾何学情報を保持するクラス
flash.media      音楽やムービーなどを再生するクラス
flash.net       通信を行うクラス
flash.printing     印刷を行うクラス
flash.system     システム情報にアクセスするクラス
flash.text      文字列の描画処理を行うクラス
flash.ui       マウスやキー入力関連のクラス
flash.utils      ある特定の目的のためのクラス
flash.xml      XMLの解析を行うためのクラス

2007.05.02
category
comments

javascriptでマウスホイール検知

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

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

2007.05.01
category
comments

SharedObjectのデフォルト保存場所

ローカルにデータを保存するときに使うSharedObject。第2引数を指定しない場合はここに保存される。

win
C:\Documents and Settings\"ユーザー名"\Application Data\Macromedia\Flash Player\#SharedObjects

mac
ユーザ\”ユーザー名”\ライブラリ\Preferences\Macromedia\Flash Player\#SharedObjects

2007.04.12
category
comments

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

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

JAVASCRIPT:
function getJavascript()
{
   var obj = new Object();
   obj.infoTitle = document.URL;
   obj.infoUrl = document.title;
}

ACTIONSCRIPT:
import flash.external.*;

if(ExternalInterface.available)
{
   infoObj = ExternalInterface.call("getJavascript");
   title.text = infoObj.infoTitle;
   url.text = infoObj.infoUrl;
}
else
{
   title.text = "ExternalInterfaceを利用することが出来ません";
}

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

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

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

ACTIONSCRIPT:
//-----[送受信オブジェクトのインスタンス化]
var loadLV:LoadVars = new LoadVars();
var sendLV:LoadVars = new LoadVars();

//-----[渡したい変数名と値を定義]
sendLV.message = "hoge";

//-----[コールバック関数を定義]
loadLV.onLoad = function(success)
{
   if (success == true)
   {
      trace(loadLV.responce);
   }
   else
   {
      trace("通信エラー");   //hogeをflashに返します"
   }
}

//-----[sendAndLoadメソッドを使ってデータの送受信を行う]
sendLV.sendAndLoad("phpファイルのパス", loadLV, "POST");

2007.04.08
category
comments

サイトキャプチャーについて

をやってみる。色々調べるとWindowsサーバーで動く有名なキャプチャアプリがあるらしい。これをサーバーに置いて、phpからコマンドラインでつついてやるだけで驚くほど簡単に実装できる。キャプチャサイズやファイル形式、遅延時間などの細かい設定も可能。出力される画像もかなりキレイ。これでサムネイルを掃き出してくれます。

CrenaHtml2jpg

PHP:
<?php
   $url = $_GET['url'];
   $filename = date('YmdHis').".jpg";
   $cmd = "CrenaHtml2jpg -o$filename -fjpeg -w800x600 -s200x150 -q100 -d72 -t25 -l5 -u$url";
   system($cmd);
   echo <<<EOM
   <img src=$filename>
   EOM;
?>

page 9 / 9«123456789