|
完成例
2-3-1.NowLoadingを入れる
今回の講座はタイピング部分のスクリプトなどはいじりません。
あくまでアクセサリを追加してソフトを公開した時にそれなりに見せようとするための講座です。
実は前回までの講座でタイピングソフトは完成してるので、あとはどうやってそれをゲームにするか?
そのゲームにしたときに必要な要素を入れようと言うのが今回の講座です。
まずはFlashのダウンロードが終了するまで『NowLoading』を表示してみようと思います。
今回作成しているFlashファイルは(.swf)容量が11KBほどしかないので、ほとんどNowLoading
のある意味がないです。
でも今後大容量のソフトやゲームを作る時に必ず必要になってくるものなので覚えてしまいましょう。
『NowLoading』の画像と何%表示したか?だと物足りないので、
少し綺麗に何%で表示するのではなく、画像を使ってどのぐらいダウンロードしているかを
表現してみましょう。
まずローディングの画像に必要なのは、『NowLoading』というテキストとメーターの枠と
メーターです。
メーターは左端が0の位置になるように作ります。0以外だとメーターの幅を変化させた時に
おかしくなります。
メーターの枠は左端を合わせる必要もないですけど、合わせておきましょう(謎)
メーターの枠は幅100で作成します。これは1%を幅1として変更していく為に100%は幅100と
なるからです。
さあこれでローディング画像ムービークリップに配置する画像1つと2つのムービークリップができましたね?
その3つを配置したローディング画像ムービークリップへと配置し、それにスクリプトを記述します。
なおメーターのインスタンス名だけ『meta』と名前をつけておきます。(これの幅を変更する時に必要)
onClipEvent(load){
this.meta._width=0;
}
onClipEvent(enterFrame){
parsent=Math.floor((_root.getBytesLoaded()/_root.getBytesTotal())*100);
this.meta._width=parsent;
if(this.meta._width>=100){
_root.gotoAndStop("title");
}
}
まずonClipEvent(load){}の部分でmetaの幅を0にしています。
metaの幅は最初は20?ぐらいになってますので、まずそれを0にしておきます(0にしても消えません)
onClipEvent(enterFrame){}内では、
parsent=Math.floor((_root.getBytesLoaded()/_root.getBytesTotal())*100)
とありますが、これは(今現在ダウンロードしたバイト数/全体のバイト数)×100
つまりは現在ダウンロードできたパーセンテージを求めているわけです。
それをparsentに入れ、その数値をメーター(meta)の幅に指定しているわけです。
それで、そのメーターが100を超えた時、つまり100%ダウンロードが完了した時に、
『title』ラベルに飛びます。
今回の『NowLoading』では全容量ダウンロード後にタイトルに行くという形をとっていますが、
これは途中までダウンロードしたらタイトルに行くということもできるわけです。
2-3-2.タイトル作成とカウントダウンのスクリプト
前回の講座ではいきなりタイピングを要求されるようになっていましたが、今回はいきなり
始まるような不親切な設計はやめて、まずタイトルを表示させ『スタート』ボタンをクリックしたら
カウントダウンが始まり、その後タイピングを要求するというように変更してみましょう。
さきほどの『NowLoading』が終わったらタイトルに移動するよう作りました。
タイトルからスタートボタンを押すまでは開始しないようにしたいので、シーン1のスクリプトレイヤーに
stop()
スクリプトを入れることを忘れないでください。
『NowLoading』のスクリプトで
_root.gotoAndPlay("title")
と記述していたらタイトルを表示後すぐにカウントダウンへと移動してしまいますので、
安全の為にもstop()を入れるのを忘れずに。
スタートボタンに設定するスクリプトは簡単です。クリックされたら、『カウントダウン』ラベルに
移動するというスクリプトを組めばいいだけです。
さぁ次のカウントダウンの画像とスクリプトですが、フレームの長さを長くして、3、2、1と
表示してもいいのですが、編集作業が入ると大変ですし、見た目がよくありません(関係あるかね・・)
そこで
シーン1上で操作せず、カウントダウンインスタンスに設定したスクリプトからシーン1のラベルを
移動させます。
詳しくはFlashファイルを見てください。説明が難しい・・・。
用はcountという変数を使って、ラベルをループさせることで、長いフレームを作ることを避けてます。
わからなかったら掲示板で質問してください。
2-3-3.完成
完成しました!(はや!)
あとは結果画面でボタンを押したら、タイトルに戻るとかそんな細かい修正しか入れてません。
でも意外とこういう細かい部分が重要になってきますよね、親切さだとか
次回は
3-1.タイピングソフトをタイピングゲームにする
です。ほんの少しの修正のみですけど。
2-3-4.flaファイルのダウンロード
lzhで圧縮してあります。
|