スプライトを表示する、スプライトをアニメーションする

まず、キャラクターを表示したりアニメーションする方法を説明します。スクラッチでは、ステージ上のキャラクター(画像ファイル)をスプライトと呼びます。スプライトとはゲーム用語で、動かすことが前提の画像ファイルを指します。反対に、ステージ上全体に配置するような一枚の画像を背景画像と呼びます。

 

スクラッチ1.4を起動してください。はじめて起動すると、新しいプロジェクトファイルが作成されます。プロジェクトとは、プログラムのファイルを指します。新たにプロジェクトを作成する場合は、「ファイル」メニューから「新規」をクリックします。

新しいプロジェクトを作成すると、ステージ上に、オレンジ色のネコが表示されています。このネコがスプライトです。ステージ下のスプライトリストのネコが選択されている状態で、スクリプトエリアに、以下のようにブロックを並べてスクリプトを作成してください。各ブロックは、色ごとにおおまかな処理が分けられています。オレンジ色は「制御」、紫色は「見た目」に関するブロックです。

スクリプトを上から順に説明します。

 

「(緑の旗)がクリックされたとき」

緑の旗をクリックするとこのブロックから順にプログラムを実行します。このスクリプト(プログラム)は、緑の旗をクリックした際の処理が書かれています。

 

「ずっと」

コの字型のブロックで、この中に置いたブロックを繰り返し実行します。

 

「表示する」(★)

スプライト(この場合、ネコのスプライト)を表示します。

 

「1秒待つ」

1秒の間、何もしない意味です。数字を変更することが可能です。小数の入力も可能です。

 

「隠す」

スプライトを非表示にします。

 

「1秒待つ」(☆)

ひとつ前で使用しました。1秒何もしないで待ちます。

 

つまりこのスクリプトは、実行すると、★から☆までの処理を何度もずっと繰り返すプログラムです。実際に実行してみましょう。ネコが1秒おきに点滅(表示と非表示を繰り返す)するようなら大成功です!

プログラムは、上から順番に処理を実行します。そして、「ずっと」のブロックは、その処理を繰り返す働きをします。これらは、プログラミングの基本制御構造である、「順次処理」と「反復」であり、プログラミングの大切な考え方です。

 

「1秒待つ」の2つのブロックを「0.5秒待つ」に変更してみましょう。数字をクリックすると文字反転表示されて数字の入力が可能になります。「0.5」を入力してから、プログラムを実行してください。スプライトの点滅速度が早くなったら成功です。

 

続いて、このネコのスプライトをアニメーションさせてみたいと思います。以下のようにスクリプトを変更してください。不要なブロックは、一旦スクリプトをバラバラにしてから、右クリックで削除をクリックしてください。(または、ブロックを、ブロックパレットのほうに持ってゆくと削除が可能です。)

すべてのブロックをバラバラにした後に、「0.5秒待つ」と「隠す」のブロックを削除して、「次のコスチュームにする」を追加します。

 

上から順に説明します。(この章では一度説明したブロックでも再度同じ説明をしています。)

 

「(緑の旗)がクリックされたとき」

緑の旗をクリックするとこのブロックから順にプログラムを実行します。このスクリプト(プログラム)は、緑の旗をクリックした際の処理が書かれています。

 

「表示する」

スプライト(この場合、ネコのスプライト)を表示します。

 

「ずっと」

コの字型のブロックで、この中に置いたブロックを繰り返し実行します。

 

「次のコスチュームにする」(★)

スプライトを切り替える処理をします。スクリプトエリア上部にある「コスチューム」タブをクリックしてください。

このプロジェクト初期からあるネコのスプライトは、実はコスチューム1とコスチューム2の2枚セットの画像です。コスチューム1とコスチューム2は、少しだけポーズが異なります。コスチューム1が表示されていたら、コスチューム2を、コスチューム2が表示されていたら、コスチューム1にスプライトを切り替える処理をします。

 

「0.5秒待つ」(☆)

0.5秒の間、何もしない意味です。数字を変更することが可能です。小数の入力も可能です。

 

つまりこのスクリプトは、実行すると、★から☆までの処理を何度もずっと繰り返すプログラムです。実際に実行してみましょう。ネコが0.5秒おきに手足を動かしているように見えたら成功です。

 

ゲームでは、自身のキャラクターや敵のキャラクターが何かしら動いているように演出することが多いです。これは、ゲームを遊ぶプレイヤーが、そのキャラクターが背景ではなく、動くものだと認識する効果があります。また、この動きを複雑にすることで、リアリティを増し、ゲームへの没入感を高める効果があります。動かす(動く)スプライトは常にアニメーションさせるよう心がけるといいでしょう。

あわせて読みたい