FLASHサイトを作る時の小技 | 渋谷で働くデザイナー達のブログ

渋谷で働くデザイナー達のブログ

渋谷某所で働くデザイナー達の日常や、WEBに関する覚え書きなど

どうもおはようございます。
Iです。

最近はとにかくFLASHサイトが乱立してる気がしますが、
AS3で作ってるサイトはどれくらいあるんだろ???

なんて疑問を抱えつつこれからFLASHサイトを手掛けようとしている
方たちにちょっとした作業効率が上がるお話です。
AS2でのやり方だけですが・・・。


まず、FLASHサイトの構成はどうすれば・・・?
という方、とりあえずloadMovieを覚えれば大規模なサイトじゃない
かぎり対応できるかと思います。場合によってはページ分割を
HTMLでやっちゃうこともありますがそれはFullFLASHではないですしね汗。
で、loadMovieのいいところはインターフェース部分のFLASHと中身(ページ)
をわけて作れるから更新も手軽だし、サイトの最初の読み込みが早い!

けど落とし穴もあります。SEOのことは置いといて、皆さん少なからず
体験したことがあると思いますが、

「FLASHってキャッシュが残るよねー」なんて会話したことありません?


IE6とかはしつこく残ってますよね。loadMovieは特にキャッシュが
残りやすい気がいつもしてますw
もちろんお客さんはキャッシュのクリアをほどんどの場合知らないので
何回も説明しなければならない・・・。
そして自分も何回もキャッシュをクリアしながら確認する・・・。
非効率ですよねー。


そこで1アイデア!swfのパスに乱数をくっつけてあげればいいんですよ!
「ん?」と思った方、googleのtopの画面に行ってみてください。
URLが「http://www.google.co.jp/webhp?hl=ja」になってますよね?
HTML的には?hl=jaが引数といってURLにGETで値を渡してる。
ということです。その値がランダムな数字ならURLが違うとみなされます。

loadMovieも同じようにパスが毎回違えば残ったキャッシュを表示しません。
なので「?」をつけて引数をランダムにしてしまおうということです!



FLASHで乱数を発生させるやり方は

ransu= Math.floor(Math.random() * 10000);

のような書き方になります。数字の桁を増やせばそれだけの幅で乱数が作れます。
ではどのように使うかというと、

ransu= Math.floor(Math.random() * 10000);
random_mc.loadMovie("a.swf?hensu="+ransu);

と書くだけです。

簡単に説明すると、上記のスクリプトはrandom_mchttp://****/a.swf?hensu=10000(乱数)
をロードムービーしたことになります。引数がランダムだからキャッシュが表示
されることはほぼないです!
お客さんとめんどくさいやり取りが少し減りますよ!


こーゆー小技を覚えておくとPHPとの連係の時にも役立ちます!
変数や配列のやり取りをするときにこんなURLパスを書くことになります。

次回はPHPに配列そのものを送るやり方を説明しようと思います。
通常は「"a","b"」というようにバラにしてからPHPで再度配列に入れ直す
ということをしますが、配列ごと送ればややこしくないでしょ?といった感じの
お話です。


では、続きはWEBで!