FLASHのお勉強 ーアクションスクリプトの実践的事始めー |
||
(6)FLASH画面にアクセスカウンター |
||
| (18)アクセスカウンター_2も参照ください(もっと踊ります) | ||
ホームページにアクセスカウンターはつきものであるが、FLASHでトップページを作った場合、その画面にカウンターを埋め込むにはどうしたらいいだろうか。 無料サイトのカウンターを貼るわけにはいかないので、自分でcgiを設置して、Flashからデータを取り込んで表示しなければならない。 自前cgiを使えるプロバイダーでなければ出来ないという制約があるし、それよりも、このサイトの読者の多くはcgiって何?とか、cgiの中身なんか分からないよという方が多いかもしれないが、カウンター設置の必要性は高いと思われるので、今回のお勉強としたい。 原理はとても簡単である。 Flashが再生開始になるとcgiを呼び出す。すると、cgiはカウントの従来値に+1して累積DATAをFlashのテキストフィールドに返すというものである。 ![]() アクセスカウンター用のcgiはWebで探せば沢山見つかる。 しかし、そのままではFlash用には使えない。 そこで改造が必要になるが、改造するのは結構手間がかかので、ここでは自前のcgiを作成し、これを使うことにする。 自前のcgiといっても、とてもシンプルなもので、とにかくページが開かれればそれが自分であろうが、連続であろうがカウントされるという基本的なものである。 cgiの解説は本題から離れるのでしないが、使って見ようという方がおられれば、こちらを参照されたい。 ステージの準備 カウンターを設置したい場所にテキストツールでテキストフィールドを作成する。 このとき背景を矩形ツールなどで描き好みの色に色付けしたりもできるし、全体の背景に溶け込ませることも出来る。 以下にメニューバー群の下に配置したときの例を示す。 テキストの種類: ダイナミックテキスト インスタンス名: counter なお、カウンター1は普通の静止型、カウンター2は動きのある例としてスクロール表示型。 スクリプトとサンプル表示 以下のスクリプトは、カウンター1,2を別々に表示させるときのスクリプトである。 |
||
| <カウンター1> myLoadVars = new LoadVars(); myLoadVars.onLoad = function(success) { if (success) { _root.counter.text = this.count } } myLoadVars.sendAndLoad("counter4flash.cgi",myLoadVars); stop(); スクリプトの説明: LoadVars:Flashとサーバーの間でデータをやり取りするために 定義されるオブジェクト LoadVars.onLoad:データ読み込みの正否を判断し、そのデータを どうするかを決める。ここでは、成功したときに、 テキストフィールドcounterに表示させている。 this.count:cgiから呼び込まれたcountと名のついたデータ sendAndLoad:cgiを呼び出しデータをmyLoadVarsに取り込む counter4flash.cgi:cgiファイルのあるところへパスを通すこと |
||
<カウンター2> var cnt:Number = 0; var cnt_str:String = ""; for (i = 1; i<20; i++) { cnt_str += " "; } System.useCodepage = true; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(success) { if (success) { cnt_str +="あなたは "+this.count+" 人目の訪問者です"; _root.onEnterFrame = countertext_me; } } myLoadVars.sendAndLoad("counter4flash.cgi",myLoadVars); function countertext_me() { counter.text = cnt_str.substr(cnt, cnt_str.length); if (cnt>cnt_str.length) { cnt=0; } cnt++; } stop(); |
文字列cnt_strを定義 cnt_strに20字分の空白部を入れる s-Jisコード使用可能 空白部にプラスして、文字列定義 function countertext_meの実行 function countertext_meの定義 文字列の先頭から、連続的に1字ずつ切り取っていく |
|
|
|
||
| HOME お勉強総リスト | ||