【プチコン4講座】アクションゲームを作るためにスプライトを覚えよう

プチコン4

プチコン4 ミニゲーム スプライト

こんにちは。継続の錬金術士なおキーヌです。

ブログ毎日更新は255日目になります。

今回は画像を使ったゲームの作り方について解説していきます。

前回までやっていた「あっちむいてホイ」ゲームは黒い画面ですべてが完結してたので、
次は画像を使ったゲームの作り方を学んで行きましょう。

それではプチコンミニゲーム講座第4回目を始めようと思います。

  1. スプライトという概念を覚えよう
  2. プチコン4のスプライトは便利な機能がいっぱい
  3. 専用変数を持っているので状態管理が楽
  4. 今回作っていくゲームの考察

スプライトという概念を覚えよう

ゲームプログラミングの世界では画像のことをスプライトと言います。

画像を高速に合成表示させるための技術です。

といってもなんのこっちゃわからんですよね。

簡単に言うと画像を表示したり動かしたりするためのしくみです。

単純に画像を表示するだけならスプライトを使わなくてもいけるのですが、
スプライト機能を使うと画像を動かしたり引き延ばしたり、回転させたり様々なことが出来るようになります。

プチコン4でのスプライトは、上記の基本的な機能を備えて
様々な便利な機能を兼ね備えているのでゲームを作るときには必須のしくみです。

前に作ったあっちむいてホイのようなゲームには画像は使わないのでスプライトはいりませんが、
アクションゲームやRPG、シューティングゲームなんかを作るときには絶対に使う機能です。

今回はスプライトの基本を覚えつつ、スプライトの持つ機能をいっぱい使っていきましょう。

プチコン4のスプライトは便利な機能がいっぱい

プチコン4のスプライトの持つ機能は沢山あります。

プチコン4のリファレンスをみてもらうとよくわかりますが、
実際に浸かってみないと全然覚えられないと思います。

人間というのは必要になったら初めて記憶に残そうとするので
プログラミングに慣れていない人はリファレンス何て読んでも頭に入ってこないと思います。

なので講座を通して実際に使ってみて、こう動くんだな!

こういう時にこの機能を使うんだな!っていうのを覚えていってください。

ゲームを作るうえでよく使うのが、SPOFSという命令です。

SPOFSはスプライトを動かす関数なのでこの関数を使うと、
キャラクターを動かしたり様々な位置に移動したりできます。

コントローラーで上を押したらSPOFSが呼ばれキャラクターが移動すると言った感じです。

他にも、特定の位置に着いたらSPOFSを使って指定の位置に一瞬でワープするという仕組みもSPOFSでできます。

そしてスプライトの機能を使うには、まずSPSETという命令を使わなければいけません。

それまではSPOFSも使えませんし、他のいろんな機能も使えない状態です。

これ、変数と似てると思いませんか?

変数はVARを使って宣言して初めて使えるようになります。

スプライトはSPSETを使って宣言して使えるようになります。

SPSETはいわばキャラクター用変数みたいなもんですね。

後よく使うのといったら、衝突判定。つまり何かにぶつかったという判定をとることが簡単にできてしまいます。

これは自力で作るとなったらものすごく大変なのですが、
プチコン4のスプライトはその機能を最初から持っているので簡単にぶつかった判定を作ることが出来ます。

このように沢山の機能があって覚えられそうにないかもしれませんが、
実際ゲームを作っていると自然とアレが必要だな・これが必要だなってなってくるので
そういえばああいう機能があったなって思いだせるようになります。

わからなくなったら小さな記憶を頼りに調べればいいだけなので、
それを繰り返していると自然と頭の中に辞書が出来上がっています。

なぜかと言うと、最初にも言いましたが必要な時に必要なことを覚えて
それを繰り返していると脳にしっかりと記憶されるからです。

これは学校の勉強にも応用できるので、学生の人で勉強が覚えられないときは活用してみてください。

専用変数を持っているので状態管理が楽

先ほど、スプライトは変数と似てるといいましたがスプライト専用の変数というものが用意されています。

本来、プログラミングでは自分でこの機能を用意するか
専用の変数を自分で作って管理するかしないといけません。

しかしプチコン4はゲームを作るのに特化しているので、SPSETを使えば
スプライト専用の変数が自動的に使えるようになります。

このスプライト変数の何がいいかというと、スプライト毎にHPを持たせたいときにすごく便利です。

例えば岩に当たったキャラクターのHPを減らすという仕組みを作りたいとき、
本来ならそのキャラクターを調べてそのキャラクターの変数を操作しなきゃいけません。

ですがスプライト変数を使えばぶつかったスプライトの変数を減らす。

という仕組みを作っておけばどのスプライトがぶつかっても、
ぶつかったスプライトの変数が変動するので作るのがすごく楽なります。

これも実際に浸かってみないと恩恵がよくわからないので、
作っている内に便利と感じると思うので実際に使って覚えましょう。

今回作っていくゲームの考察

スプライト機能を覚えるためのミニゲームにしていきたいと思うので、
スプライトの機能を沢山使ったような仕組みしようと思います。

恥ずかしながら私は複雑な計算式を使ったようなゲームはつくれないので、
極々シンプルなゲームになってしまうかもしれませんが、ご了承ください。

まず最初はスプライトを使うところから始めて、
その後スプライトを大きくしたり回転させたり初歩的なことをやりましょう。

それが終わったらスプライト同士ぶつかる仕組みを作ります。

ココまで出来たら実はアクションゲームが作れてしまうんです。

ということで1画面で収まるアクションゲームを作ることを目標にしましょう!

スクロール機能を作ると凄く複雑になるので1画面完結がオススメです。

スタートから開始してゴール地点を目指すクリア型アクションゲームが最終目標とします。

今回はここまで