この講座は,flashソフトを用いてflashアニメをスクリプトで制作し無料で公開したものです

FLASH講座 ーアクションスクリプトの実践的事始めー
応用編
(1) FLASH画面にアクセスカウンター
[1]

  (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字ずつ切り取っていく

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
このサイトで使用しましたflashソフトはflash mx 2004年版(Flash Japan)- flash8 及び FlashCS3-2007年版です。
 flash講座(フラッシュ講座)は、Yoshioka氏(通称、ひげ親父)による制作です。 コツコツと作られたflash素材(flashアニメ、スクリプト)はユーザーの方により保存変更され動画flash(動画フラッシュ)や携帯flash(待受flash)として利用されて来ました。
 氏は、flashスクリプトについての学習を、パソコン塾講師活躍中に始められ、独立した今も続けておられます。 
  macromedia flashソフトは新しくadobe flash時代に入りましたので、これを機会にflash学習サイトを「flash講座1234」としてリニューアルいたしました。 引き続きご愛顧承りますよう、よろしくお願いいたします。                                                                           (by Hiraoka)
HOME   Flash講座総リスト         flash アクションスクリプト 応用編 (2)