背景

多くのゲームでは、主人公や敵といったキャラクター達が画面上に表示されるだけでなく、そのキャラクター達がいる場所も同時に画面に描かれることが普通です。仮にそれが宇宙だったとしても、キャラクター達の後ろには星々が描かれることで「宇宙にいるんだ」ということが伝わってきます。

Jasmine Tea では、キャラクターはスプライトを使って画面に表示して自由に動かすことができます。一方、背景は、グラフィック画面を利用することになります。全てのスプライトは、グラフィック画面よりも手前に表示されます。そのため、グラフィック画面は、背景を表示する用途として使うことができます。

line 命令や circle 命令など、図形を描くための命令を使ってグラフィック画面に背景を描いても良いのですが、予め登録されている PIC パターンを組み合わせて背景を作成したほうが簡単です。命令を駆使して細かく図形を描いていくことと比較すると表現力は落ちますが、キャラクターがいる場所を表現するための背景を手軽に作り出すことが可能です。

背景の作成方法

PIC パターンを使って背景を作成する方法として、Jasmine Tea では以下の 2 つの方法が提供されています。

  • 背景ダイアログを使って背景を作成する。
  • def background 命令を使って背景を登録する。

背景ダイアログは、Jasmine Tea の画面上にある「背景」ボタンを押すことで表示されます。

backgrounds-1

背景ダイアログは、左上に登録済みの背景が一覧表示され、右に背景で利用可能な PIC パターンが一覧表示されて、中央に背景を描画するキャンバスが表示されています。

backgrounds-2

背景を新規に作成するには、左上の「+」ボタンを押します。そして、右の PIC パターンの一覧から、背景の中に描きたい PIC パターンを選択します。背景ダイアログの下の「描く」ボタンに色が付いていて選択されている状態を確認したら、背景の黒いキャンバスの上で以下の操作を行います。

  • PC の場合: マウスの左ボタンを押したままマウスを動かす。
  • iPad の場合: キャンバスの上に指を置いたまま指を動かす。

backgrounds-3

マウスや指の動きに追随して、PIC パターンが描かれていきます。キャンバスに描かれた PIC パターンを消したいときは、以下のいずれかの操作を行います。

  • 「やり直し」ボタンを押す。これにより、直前の操作が取り消される。
  • 「消しゴム」ボタンを押してから、PIC パターンをキャンバスに描いたときと同じ操作をする。

背景を新規に作成した直後は、後ろの色が黒になっています。この色を変更するには、右上にある「背景色」タブを押して選択します。

backgrounds-4

そして、変更したい色を選択することで、後ろの色が変わります。

backgrounds-5

背景色の「黒」と「透明」は、役割が異なります。「黒」は、グラフィック画面全体を黒で塗りつぶしたあとに、背景を描画します。そのため、グラフィック画面に何か図形が描かれていたときは、それらは全て消去されます。「透明」は、背景の中で PIC パターンが配置された部分のみをグラフィック画面に描画します。PIC パターンが配置されていない場所については、グラフィック画面に書かれていた図形は消されずにそのまま残ります。

もし背景を作りたいけれど何を作っていいかわからない、というときは、右上にある「テンプレート」タブを押してください。あらかじめデザインされた背景がいくつかあります。どれかを選択すると、キャンバスにコピーされます。

backgrounds-6

コピーされた背景に PIC パターンを置いていって、独自の背景を作ってみましょう。

def background 命令を使うことで、プログラムから背景を新規に登録することもできます。PIC パターンの番号の数値配列と背景色をパラメーターとして指定します。

pics@=[498,500]
bg@=[]
for i=0 to 999
  bg@[i]=pics@[random(0,1)]
next
def background 0,bg@,-1

上記のプログラム例では、横 40 個、縦 25 個、合わせて 1000 個の PIC パターンの番号を持つ bg@ 数値配列を作り、PIC パターン番号として 498 もしくは 500 をランダムにセットしていきます。そして、def background 命令に、背景番号、PIC パターンの数値配列、そして背景色(-1 は透明)をパラメーターとして指定して、背景を登録しています。

背景の表示方法

登録された背景をプログラムから表示したいときは、background 命令を使います。

background 0

background 命令にパラメーターとして表示したい背景の番号を指定することで、その背景がグラフィック画面に表示されます。

backgrounds-7

Jasmine Tea では、一つのプロジェクトに複数の背景を登録しておくことができます。ゲームなどでは、状況に応じてプログラムから背景を切り替えていくとよいでしょう。