ウィンドウにflashをフィットさせる
ウィンドウがあるサイズ以下の場合はウィンドウにフィットした状態で表示し、それ以上のサイズの場合は既定のサイズで表示するという、変な条件があった場合の対処方法。
DOMを使えばもう少しきれいに書けると思うが、MacのIEという微妙なブラウザでも表示できるように昔ながらの方法を使った。
<script type="text/javascript"><!--
function writeFlash(){
// ウィンドウサイズの取得
if (document.all && document.getElementById && (document.compatMode=='CSS1Compat')) {
// IE6 標準モード
scrY = document.documentElement.clientHeight;
}else if(document.all){
// IE6 互換モード
scrY = document.body.clientHeight;
}else{
// それ以外
scrY = innerHeight;
}// flashサイズの設定
var flashX = 本来のサイズ;
var flashY = 本来のサイズ;
if(scrY < flashY) {
flashX = Math.round(flashX*(scrY/flashY));
flashY = scrY;
}// タグの書き出し
document.write('<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="' + flashX + '" height="' + flashY + '" id="index" align="middle">');
document.write('<param name="allowScriptAccess" value="sameDomain" />');
document.write('<param name="quality" value="high" />');
document.write('<param name="scale" value="exactfit" />');
document.write('<param name="bgcolor" value="#ffffff" />');
document.write('<param name="movie" value="hoge.swf" />');
document.write('<embed src="hoge.swf" quality="high" scale="exactfit" bgcolor="#ffffff"
width="' + flashX + '" height="' + flashY + '" name="index" align="middle" allowScriptAccess="sameDomain"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embded>');
document.write('</object>');
}
-->
</script>
headタグに上のスクリプトを書いて、bodyタグの中に下のスクリプトを書いて呼び出す。
<script><!--
writeFlash();
--!></script>
onresizeを使ってウィンドウのリサイズ時に再度ウィンドウサイズを取得してリロードすればもう少しユーザーに優しいページなるかも。
flash のインデックスページを作った
作ったというか、 web designing に載っていたものを打ち込んでみただけだけど。
最新 15 件のエントリーのタイトル、作成日時、概要を含んた XML を MT 側で生成
し、それを flash で一件ごとのカードの形で表示している。ただそれだけ。
これをベースにいろいろ触ってみよう。
OOPをできるswf制作環境
MTASC | ActionScript 2とFlash OOPのすすめ
コマンドラインActionScript 2.0コンパイラー
だそうで。
なんというか、読んでも全然分からないけど、今後、開発よりなflashの案件も出てくるだろう、ということでメモ。
flashによるフォーム
flashで作成されたウィザード形式の応募フォーム。作成はスーパーインデックス。サーバとの通信が、flashファイル取得と、セミナーの空席状況の確認と、入力内容の送信の3回に抑えられているので、サーバの負担はHTMLでのフォームよりは少ないだろう。ユーザー側の操作感はflashで作られたGUIのレスポンスがいまひとつだったりするが。
スーパーインデックスは、確かflashコンテンツ作成のためのミドルウェアを持っていて、flashコンテンツの制作に特化していたはず。楽しそうだなぁ。
逆回転時計
RSSリーダー作っていたはずなのに、おかしいなぁ。
という訳で、昔作った事のある時計を逆回転させてみた。
ついさっきまで読んでいた本にこの逆回転時計が出てきたので、ちょっと気になって作ってみた。こういうときにflashはお気楽に作れるから楽でいいですね。キー判定でやたら取りこぼしがあったりするけど。
オンラインのリズムマシン
ROCKSTAR GAMES PRESENTS: BEATERATOR
これ、Ajaxなんだろうな…。つか、技術がどうって話がかすんでしまうくらい完成度が高い。
中村勇吾氏の新しい作品
エコトノハなどのインタラクティブなflash作品を作らせたら右に出るもののいない中村勇吾氏がまた面白いものを作った。

検索したキーワードのタイポグラフィーを検索結果の書籍の写真を使って描くflash。すごい。しかし、よくこんな事を思いつくものです。
あの人の頭の中を見てみたい...。
flashの勉強中…。
こないだ2年ぶりくらいに仕事でflashを使ってみて、以前(といってもかなり前だが…)に比べると作業の段取りが良くなっていて、flashで作業している時に感じていた「いくら作業しても終わりが見えない」ような事がなくなっていたのと、ActionScriptが多少読めるようになってきた事に気を良くして、ぼちぼち触っている。
とりあえず、自分のサイトで何かできないかと思い、RSSを読み込んでインデックスを表示するものを作成中。できればflashをMovable TypeのGUIラッパーにできないかと夢想してみるものの、多分そこに行き着く前に飽きそうな予感がするので、小出しに色々出していくと思います。
近日公開予定。期待せずに待て。
strict XHTMLにflashを埋め込む
SG::Acme : Flashをstrict XHTMLで。
macromedia flashでデフォルトのままタグを生成すると、objectとembedをネストにしたタグを生成してくれる。
これはこれで大体どんな環境でもswfファイルを表示してくれるので便利なのだが、HTML TransitionalですらないHTMLなので、非常に行儀が悪い。
で、これはswfファイルを正しいHTMLで表示させようと言う試み。