AREA 021
Featuring AlphaScript

LEVEL 5 文字を表示してみますが何か?

 

かなりゲームっぽくなってきたので、さらにゲームっぽくします。


いわゆるスコア

このステップですることは1つだけ。 それは「得点表示」を付けることです。

まず、得点を表示するには、得点をカウントできなければ話になりませんが、何を基準に得点を計るかが問題です。  普通、得点のあるゲームには、取ると得点が入る「アイテム」なるものがあったりします。  じゃあ、このゲームにもアイテムを・・・としてしまうと、余計に難しくなってしまいそうなので、やめておきます。

敵に当たるまで終わらないという持久戦のゲームなので、 時間の経過によってどんどん点数が増えていく、というのも考えれます。

ですが、できればジャンプと得点の関連性も持たせたいので、 「ジャンプして着地する度に1点入る」ということにしましょう。  敵を避けるために絶対にジャンプしなければならないので、プレイ時間に応じて得点が増えていくはずです。

得点を加算する処理は簡単ですが、一度地面に着地した後も、 毎フレーム連続で着地判定が行われているため、それだけだと得点が増え続けてしまいます。  なので、「ジャンプできない状態」で着地した時のみ、得点を加算するようにしています、


どうやって表示?

これまでと違い、得点は次々と変化する数字を表示することになるので、 あらかじめ画像を用意しておくわけにもいきませんし、 線や四角をくっつけて数字を表現するのも大変そうです。

そこで、得点の値を文字列として描画することにします。  表示位置は、ありがちですが画面の左上とします。


ほんとはフォントが必要

文字列を描画するには、フォントを定義する必要があります。  文字のサイズは、画面サイズと表示位置を考慮しています。

書体はデフォルトのものにしていますが、どんなものでも問題ありません。  ただ、変な書体だとゲームの雰囲気を崩してしまうかも。(笑)

なお、引数として「使用する文字の一覧」を指定していないので、 このフォントでは基本的な半角文字しか表示できません。  でも、目的は単純なスコア表示なので、これでOKです。


次の課題

今回のスクリプトと実行結果はこちらこちらです。  画面左上に得点がされているのにお気付きでしょうか? (って、さっきまでそれを説明してたんだから(笑)) 

がんばってジャンプすれば得点を増やせるのが熱い・・・かな?  でもこれって、一度タイミングをつかんでしまえば、いくらでも続けられそうです。  う〜ん、やっぱりまだゲームにはなりきれていませんね。

というわけで、次のステップから2回連続で、いろいろ追加・改良していきます。  進化する「ひよこジャンプゲーム」(いつの間に命名)にご期待ください。

 

ページ一覧に戻る  次のレベルへ!

Copyright (c) Rabit 2005-2012 all rights reserved.