メインコンテンツまでスキップ

アクターとスプライトの概要

作成日: 2024年10月19日


レトロ西暦 2024 年 10 月 XX 日、昼、ドットン研究所・研究室

ビットン
けっぷり。
ビットン おなかいっぱい。
しゅーちゅーりょくが
もどってきたの。

ドットン
ワシもコーヒーチャージ完了じゃ!
ビットンはコーヒーいらないんじゃったな?

ビットン
コーヒー にがぁいもん。
ビットン あまぁいのがすきなの。

ドットン
(ビットン用に、通販サイトの
「あまゾーン」で茶菓子でも
取り寄せておこうかのぅ・・・)

ビットン
ハカセ! ビットンね さっき
ちゃちゃっとかいた ドットえを
プレイヤーとして うごかしてみたい!

ドットン
おお、そうじゃった。
前回はシーンについて説明したから
今回はアクターとスプライトについて
説明していこうかのう。

ビットン
やったぁ〜 ワクワク!

ドットン
前回はシーンに背景画像を適用して、
プレイヤーキャラを動かしてみたんじゃったな。


scene_test_run

ビットン
このやじるしが プレイヤーなんだよね。

ドットン
ウム。
プレイヤーはまたの名をアクターというゾ。
まずはアクターについて説明しようかの。

アクターについて


ドットン
プレイヤーや、他のモブキャラたちは
アクター」と呼ばれとるゾ。
シーンが演劇のステージじゃとすると、
アクターはそのステージ上の演者なんじゃ。

ただし、プレイヤー(主人公)だけは
特別な「操作できるアクター」なんじゃ。
プレイヤーアクターはシーンのエディタ上の
ステージではオレンジ色の矢印アイコンで
表示されるゾ。


stage_and_actor_explained

ドットン
プレイヤーアクターは 1 つのシーンにつき
1 体だけ配置できるが、それ以外のアクターは
最大 20 体まで配置可能じゃ。
ただし、最小シーンである 20 x 18 タイルでは
最大 10 体までしか配置できない制限があるゾ。
制限を超えて配置することも可能じゃが・・・。

ビットン
それいじょう はいちすると
どうなっちゃうの?

ドットン
どれかのアクターが消えてしまうんじゃ!

ビットン
かわいそうに。

ドットン
もうひとつ、重要な制約があるゾ。それは・・・
画面の横 1 列に表示できるアクターは 10 タイルまで
じゃ!

ビットン
ふぅん?

ドットン
例で見せたほうがわかりやすいかの。
たとえば、次のようなシーンでアクターを
5 体ほどシーンに横一列で並べたとしよう。
この例では、1 体のアクターは 4 タイルで
分割されておる。
つまり、画面の横一列には 10 個のタイルが
上下 2 つに分かれて配置されておるんじゃ。


actor_limits_10_tiles


ドットン
実行してみるゾ。


actor_limits_10_tiles_play

ビットン
なにも へんかが ないね。

ドットン
では、次に 10 タイルよりも多い量の
アクターをこのように配置するゾ。
つまり全部で画面 1 列に 12 タイルじゃ。


actor_limits_12_tiles


ドットン
実行してみるゾ。


actor_limits_12_tiles_play

ビットン
あ!
いちばん ひだりのアクターが
きえちゃったよぉ。

ドットン
そのとおりじゃ!
このように、表示されている画面の
横 1 列には 10 タイル分のアクターしか
表示できない仕組みになっとるんじゃ。

ビットン
じゃあ アクターをはいち
するときは 10 タイルぶんに
するように きをつけるね。

ドットン
ウム。
じゃがもう 1 つ、落とし穴があるんじゃ。
それは、プレイヤーアクターも実は・・・
アクターだということじゃ。
つまり、プレイヤーも含めて 10 タイル以上が
横 1 列に配置されてしまうと、他のアクターが
消えてしまうゾ!


actor_row_limit_example

ビットン
また いちばん ひだりの
アクターが きえちゃうねぇ。

ドットン
アクターを配置する時はプレイヤーの
移動範囲も考慮しながらうまく配置
する必要があるゾ。

ビットン
よこ いちれつは わかったけど
たてに いちれつは だいじょぶなの?

ドットン
ウム。実はこの制約は横一列の場合だけで
縦に一列の場合はいくつアクターがあっても
大丈夫なんじゃ。
これはゲームボーイの描画の仕組みが
関係してくるんじゃが、ちと難しい話なので
また機会があるときにでも説明しようかの。


アクターとスプライトの違い


ビットン
ところで ハカセー。
ビットン いまいち
アクターと スプライトの
ちがいが わからないよぉ。

ドットン
そうじゃな・・・どう説明しようかのう。
アクターは演者のようなもの、と
冒頭で説明したが、演者は衣装を着るじゃろ?
その衣装がスプライトなんじゃ。

ビットン
ふんふん。ふん?

ドットン
演者はステージ上で同じ衣装を着続けることもあれば、
一人二役の演者などは衣装を変えたりもするじゃろ?
アクターも同じで、スプライトを着せ替えたりできるんじゃ。

ビットン
ふんふん。

ドットン
つまり、スプライトエディタというのは
衣装を編集するエディターのようなものじゃ。
まあ、ちとわかりにくい例えだったかもしれんが
とにかくアクターをシーン上で活躍させるには
スプライトを割り当ててやる必要がある、
ということじゃな。

ビットン
ふぅん・・・?

ドットン
しかたないのぅ・・・ちょっと待っとれ。
たしかこの辺に漫画があったような・・・。
あぁこれじゃ。この4コマ漫画でも読んで
みるといいゾ。


actor_sprite_explained_comic


ビットン
ビットン かんぜんにりかいしたよぉ!
ビットンの ちゃちゃっとかいた
ドットえは スプライトっていうんだねぇ。
それで そのスプライトを アクターに
はっつけるんだね。

ドットン
そのとおりじゃ!
では早速アクターの矢印の画像を
ビットンが書いた画像に変えてみようかの。
スプライトエディタに切り替えてエディタの
構成要素をひとつずつみていくゾ。


editor_selection_dropdown


スプライトエディタ


sprite_editor

ビットン
さっきまで うごかしてた
やじるしが ひょうじ されてるねぇ。


スプライト画像の読み込み


ドットン
まずはスプライトの元画像をプロジェクトに読み込むゾ。

ビットン
シーンのときと おなじで
ドラッグ&ドロップするのかな?

ドットン
そのとおりじゃ!
ドラッグ&ドロップは、スプライトエディタ以外の
エディタを表示していたとしても、できるゾ。

ビットン
それだと はいけいの ファイルなのか
スプライトなのか ジービースタジオが
わからなくなっちゃわないの?

ドットン
安心せい!
GB Studio は、透明色が含まれている
.PNG ファイルをスプライトとしてみなす
んじゃ。
逆にいうと、透明色の含まれていないファイルは
背景画像としてみなされる
んじゃ。
もし、背景画像をドラッグ&ドロップしたのに
プロジェクトフォルダに入っていない場合は
スプライトフォルダに入っている可能性があるゾ。
そのときは画像に透明色が含まれていないか確認ダ!


drag_and_drop_sprite

ビットン
ビットンが かいた スプライトが
よみこまれたよぉ!


kabutori_sprite_loaded

ドットン
ほほう。これはどういうキャラクターじゃ?

ビットン
カブトリ。
はたけのカブにぎたいして
カブをぬすむ トリだよぉ。

ドットン
な・・・なるほど。
カブ盗り・・・だから、カブトリじゃな!

ビットン
そのト〜リ!

スプライト画像の作成について

スプライト画像の作成についてのアドバイスと注意点

スプライトのタイルについて

スプライト画像のピクセルサイズは、幅が 8px の倍数、高さが 16px の倍数である必要があります。


sprite_tiles_explained

スプライトを構成する 4 色

シーン用の背景画像の作り方では、画像は 4 段階の濃淡で描くと説明しました。 スプライトも同様に 4 色のカラーコードを使用しますが、スプライトには透明部分があるため、1 色分は透過用のカラーコード(#65ff00)として使用する必要があります。なので、実質的にスプライトは 3 色しか使用できないことになります。以下のカラーコード(16進数カラーコード)を使用してスプライト画像を作成してください。

#071821
#86c06c
#e0f8cf
#65ff00
↑ #65ff00 は透明色として扱われる(画像編集ソフトによっては、実際にこの色を透過色として割り当てて色が付かないようにしています)


GB Studio の公式ドキュメントページ から、お使いの画像編集ソフトウェア(Aesprite、Photoshop、Piskel)用のパレットスウォッチをダウンロードすることも可能です。


gbs_doc_site_palette_swatches_sprites

アニメーションシートについて

スプライト画像は、単一の画像として作成することもできますが、複数のコマ送りアニメーションを 1 つの画像に統合したファイルとして読み込むこともできます。このようなアニメーションパターンを統合した画像ファイルのことを「アニメーションシート」と呼びます。

例えば、次のスプライト画像には、下向き、上向き、右向きのアニメーションパターン(静止状態を含め、それぞれ 3 パターンずつ)を並べています。


sprite_kabutori_explained

ちなみに、左向きのパターンは、スプライトエディタ内で右向きの画像を横反転させて作ることができるので、今回はあえて作成していません。横反転させる場合は アニメーション設定「右」を反転して「左」向きフレームを自動生成 オプションを有効にします。


reverse_animation

アニメーションタイプの自動判別

GB Studio は、読み込まれたスプライト画像をもとに、自動的にアニメーションタイプを適用しようと試みます。

例えば、読み込まれたカブトリは、4 方向に移動できるアニメーション可能なスプライトとして判別され、自動的にアニメーションパターン(画面左の アニメーション セクション)が生成されています。


animation_type_auto_explained

もちろん、アニメーションタイプ のドロップダウンから、目的に応じてアニメーションタイプを設定することも可能です。

スプライトのアニメーション作成


ドットン
それでは、このカブトリの移動モーションを
作成していくゾ!

まずは、スプライトのサイズを決めるんじゃ。
エディタ右側のキャンバスサイズを
幅(W): 16px、高さ(H): 24px、に設定するゾ。


sprite_set_width_height

ビットン
カブトリの じっさいの サイズだね。

ドットン
次に、左側の アニメーション のそれぞれの
アニメーションパターンの種類に合わせて、
アニメーションのフレームをパラパラ漫画
のように設定していくんじゃ。


set_animation_patterns_720p

※ この例では、移動(上)と移動(下)のアニメーションフレーム設定は省いていますので、適宜設定してください。

プレイヤーアクターにスプライトを設定


ドットン
設定できたら、ワールドエディタに戻り
シーンを選択して、プレイヤースプライトシート
ドロップダウンリストから、先ほど作成した
スプライトを選択するんじゃ。


set_player_sprite_sheet

ドットン
実行してみるゾ。


play_player_moving

ビットン
すごい すごい!
ついに カブトリが!
うごいてるよぉ〜!

ドットン
キャラを動かすのにはひと手間かかるが
ゲーム画面上で動いたときは感動モンじゃろ!

ビットン
ビットン うれしさいっぱいで
かんむりょう。
もっといろんな ばしょを
つくって カブトリの
あるけるばしょ つくりたい!

ドットン
じゃあ次はトリガーとシーン間の
移動について教えてやるかのぅ。