Flash with perl

Shibuya.pm tech talk #8

Oct 1st, 2007

アジェンダ

Flashおもしろい!

無償の AS3 開発環境

...

無償の AS3 開発環境

...

無償の AS3 開発環境

jsをFlashで拡張する

...

jsをFlashで拡張する

...

jsをFlashで拡張する

Flashは見せない

var so = new SWFObject(
    "/swf/component.swf",
    "component",
    "0", "0", "9", "#000000");
...

Flashは見せない

var so = new SWFObject(
    "/swf/component.swf",
    "component",
    "0", "0", "9", "#000000");

as から js をよぶ

ExternalInterface.call("window.alert", "hoge");

js から as をよぶ

as側で

ExternalInterface.addCallback("fn_name", asfunc);

でコールバック関数を登録すると、jsから

var as = navigator.userAgent.match(/MSIE/) ?
             window["swf_id"] : document["swf_id"];
as.fn_name();

でよべる。

カッチョいいファイルアップロード

ギューンてやつです

使ってるとこけっこう多い

Flashでやればサーバーサイドでめんどうなことしなくても、クライアントサイドでアップロードの進行状況がわかる

複数ファイル一気に選択できたりとかも

ファイル選んだ瞬間にアップロードしようとしているサイズが取れる

デメリットもある

クロスドメイン通信

crossdomain.xml

api.flickr.com の crossdomain.xml

<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

www.yahoo.com の crossdomain.xml

<cross-domain-policy>
  <allow-access-from domain="*.yahoo.com" />
</cross-domain-policy>

XMLSocket

シンプルなテスストベースなsocket通信

perlでサーバーモジュール作った

バイナリSocket

AS3からはバイナリも普通のSocketも扱える

TTYShare

Flashおもしろそうでしょ!

最後に

PSPでスライド操作

PSP側

PC側

ご清聴ありがとうございました