FlashDevelop – Flash/Flex フリー開発環境

FlashDevelop.org
 
無料で使える Flash/Flex 開発環境です。
*.as を *.swf へビルドできるのはもちろんのこと、デバッガつきでの実行やアクションスクリプトの文法チェッカ、コードアシストのような開発者にはなくてはならない機能まで充実しています。
 
基本英語ですが、設定により日本語も使えます(日本語設定については参考サイトを参照)。
AS3.0 にも対応しているので、コードベース開発なら本家 Adobe よりも FlashDevelop のほうが断然使い勝手がいいですね。
 
参考:
7つのステップで完成!FlashDevelopカスタマイズの奥義(_level0.CAYAC)

IE でブラウザごと Flash を終了すると以後 IE で特定サイトが見られなくなる

具体的には Flash Player 7,8 9, Windows IE 6.0 を使い、
(loadMovie などで)ネットワーク通信中の Flash を IE ごと閉じる、という動作を一定回数(あるいは同一 Flash で一定本数アクセス中に)すると、閉じた Flash がアクセスしていたサーバについて、その Flash と同じプロセスの Win IE から一切アクセスできなくなる。
というもの。
 
netstat で見てみると、Flash を通信中に IE ごと閉じると、IE で使えるサーバとプロセスのコネクション本数(デフォルト2本)分、該当サーバに対して CLOSE_WAIT 状態で残っていました。
 
ここから推測するに、コネクションを使い切って止まっているのが原因のようです。
 
参考:
FLASH-JP.COM フォーラム
Flashcoders – IE: close_wait

Flash の IE 仕様変更対応のための汎用 JavaScript クラス

<object> が自動でアクティブ化しなくなった([2006-04-18] 参照)対策には
SWFObject (旧 FlashObject )を使うと楽に対応できます。

<script type=”text/javascript” src=”../js/swfobject.js”></script>
<!– 略 –>
<div id=”flashcontent”></div>
<script type=”text/javascript”><!–
// SWFObject(filepath, id, width, height, version, bgcolor)
var so = new SWFObject(“main.swf”, “foo”, 960, 640, “6”, “#FFFFFF”);
so.write(“flashcontent”); // id=flashcontent に対して書き出し
 
// 今回の肝はここまで。
//–></script><noscript>
<!– JavaScript OFF の時は既存の object, embed タグを表示 –>
<object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″
       codebase=”http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0″
       width=”960″ height=”640″ id=”foo” align=”middle”>
<param name=”movie” value=”main.swf”><param name=”bgcolor” value=”#FFFFFF”>
<embed src=”main.swf” loop=”false” menu=”false” quality=”high” bgcolor=”#FFFFFF”
 width=”960″ height=”640″ name=”foo” align=”middle”
 type=”application/x-shockwave-flash”
 pluginspage=”http://www.macromedia.com/go/getflashplayer”>
</object>
</noscript>

 
なお、SWFObject は MIT ライセンスで公開されているため、制限なく利用が可能です。
 
参考:
SWFObjectのドキュメントを日本語に翻訳してみたよ
SWFObject(公式 / 上の原文)

AS3 を試す

http://www.dango-itimi.com/blog/archives/2006/000897.html
にあるように、Flash9 AS3 ではクライアントでの画像生成(BMP,JPG,PNG)など、バイト列を直接操作できます。来春リリースだそうです。
 
Flash9 AS3 previewから開発環境がダウンロードできます(利用には Flash8 のライセンスが必要)
 
また、Flash9 Player は既にリリース済みです。
参考:
PNGEncoder
JPEGEncoder
ActionScript3.0 Tutorial
AS3.0 の記述の基本

LoadVars – 外部テキスト読み込みクラス

Loadvars(livedocs)
 
例1:

var user = new LoadVars();
user.onLoad = function(success){
  if(success){
    trace(“名前: ” + this.name);
    trace(“年齢: ” + this.age);
    trace(“職業: ” + this.job);
    play(); // 読み終ったら次のフレームに。
  }else{
    trace(“失敗”);
    return;
  }
}
user.load(“user.txt”); // 中身は name=John&age=24&job=Fireman とする
stop();

例2(任意書式のテキストデータを読む):
CSV データ等を読む場合は LoadVars.onData() を使います。

var mesLoader = new LoadVars();
_global.message = ”;
mesLoader.onData = function(src){
   if(src == undefined){
      trace(“失敗”);
      return;
   }
   _global.message = src;
   play();
}
mesLoader.load(“message.txt”); // 中身は Hello, world! など任意。
stop();

参考:
LoadVarsでテキストファイルを読み込む

画像や PDF, 動画を SWF に変換する

swftools (ports: graphics/swftools)
以下のツールを提供する GPL のコレクションパッケ−ジです。

PDF2SWF – PDF から SWF への変換
SWFCombine – 複数の SWF を 1つの SWF でラップして結合する。
SWFStrings – SWF 中の文字列を読み取る
SWFDump – SWF のさまざまな情報を得る
JPEG2SWF – JPEG 画像から SWF への変換
PNG2SWF – PNG 画像から SWF への変換
GIF2SWF – GIF 画像から SWF への変換
WAV2SWF – WAV 音声から SWF への変換
AVI2SWF – AVI 動画から SWF への変換
Font2SWF – TTF, Type1 フォントファイルから SWF への変換
SWFBBox –
SWFC – SWF コンパイラ(スクリプトから生成)
SWFExtract – SWF 中のムービークリップ、音声、画像などの抽出
 
RFXSWF Library – 素材を含む, SWF 作成用のライブラリ

 
以下は jpeg2swf の利用例です。

# src フォルダの全ての JPEG をフレームレート 3fps の
# SWF ムービーに変換して out.swf として保存する( -z は圧縮オプション)。
jpeg2swf -r 3 -z -o out.swf src/*.jpg

AVI, MPEG, QuickTime, WMV などのムービーを FLV やフラッシュに変換する

Linux, BSD:
FFmpeg
Windows:
Riva FLV Encoder
いずれもフリー。後者は拡張子を自分で操作することで swf に変換できるとのことです。
 
検索用キーワード: wmv2flv,mpeg2flv,mpg2flv,avi2flv, wmv2swf,mpv2swf,mpeg2swf,avi2swf
 
Riva FLV Player という flv を再生できるフリーソフトもあるようです。
 
参考:
Riva FLV Encoder と HugFlash
 解説サイト。

OpenLaszlo メモ

■OpenLaszlo デモ:
http://www.laszlosystems.com/partners/support/demos/
■OpenLaszlo 利用についての @IT の記事:
http://www.atmarkit.co.jp/fwcr/rensai/laszlo01/01.html
■採用している例:
http://www.behr.com/behrx/colorsmart/main.jsp
http://www.svcfinancial.com/sol_demo_library2.html
 から辿れるリンク先(view demo とあるもの)。
 
■その他採用サイト一覧:
http://www.laszlosystems.com/customers/case/
■OpenLaszlo でビジネス展開している日本の会社:
http://www.net8.co.jp/