![見出し画像](https://assets.st-note.com/production/uploads/images/165169756/rectangle_large_type_2_a49556ae514092d9ce6afb4448764f95.jpeg?width=1200)
ドット絵 ゲームに組み込む
前回は、ドット絵のアニメーションを作った。
今回は、実際にゲームで動かしてみる。
使用ツール
ゲームツールは「GameMaker」
ドット絵ツールは「EDGE」
キャラの動作確認
以前に作ったゲームのプレイヤーのスプライトを差し替えてテスト。
GIFアニメーションをインポート
![](https://assets.st-note.com/production/uploads/images/164809946/picture_pc_7c4b85286604e59f0941cfd9b5ce5866.gif)
前回作ったGIFアニメーションをGameMakerにインポート。
1.「アセット」>「スプライト」で右クリックして出てくるメニューから
「作成」>「スプライト」を選択して新しいスプライトを作る
2.「インポート」をクリックして作ったGIFファイルを選択
![](https://assets.st-note.com/img/1733561397-CtIp2k3M7QGPn5FyJev0g9ho.png?width=1200)
※追記
画像の入ったフォルダから、ドラッグ&ドロップでスプライトに直接インポートした方が簡単かも。
![](https://assets.st-note.com/img/1733912005-VM5J9OFdSpT0u1wtKnQRfN3x.png?width=1200)
3.スプライト名を扱いやすい名前に変更
4.再生しながらアニメーションの速度を調整
5.原点を中の中に設定
![](https://assets.st-note.com/img/1733561626-CvRqLES0ZeotjpOxDYWb3TNA.png?width=1200)
こんな感じで、簡単に、GIFアニメーションを取り込んでいける。
攻撃アニメーションの追加
通常攻撃やチャージショット時にアニメーションを変えていなかったので、そのための処理を追加。
攻撃アニメーションが終わるまで再生するコードをAIに聞いてみた。
GameMakerで攻撃アニメーションが終了するまでキー入力を受け付けないようにする方法は、アニメーションが再生中であるかどうかを示すフラグ(変数)を使用するのが一般的です。以下はその実装例です。
実装手順
1.フラグの設定
攻撃アニメーション中かどうかを判定するための変数を作成します (例:is_attacking)。
2.攻撃アニメーションの開始
攻撃アニメーションを開始すると同時に、is_attacking を true に設定します。
3.攻撃アニメーション終了
アニメーション終了時にフラグをリセット アニメーションが終了したら、is_attacking を false に戻します。
4.キー入力の制御
キー入力処理時に、is_attacking が false のときのみ入力を受け付けるようにします。
Create Event(作成)
is_attacking = false;
Step Event(ステップ)
if (!is_attacking) {
if (keyboard_check_pressed(vk_space)) {
// 攻撃アニメーションを開始
is_attacking = true;
sprite_index = spr_attack; // 攻撃アニメーションのスプライト
image_index = 0; // スプライトの最初のフレームに設定
image_speed = 1; // アニメーション速度
}
}
// アニメーション終了の判定
if (is_attacking && image_index >= sprite_get_number(sprite_index) - 1) {
is_attacking = false; // 攻撃終了
sprite_index = spr_idle; // 通常時のスプライトに戻す
}
拡大表示
32x32のキャラは小さすぎて見難いので、カメラ機能を使って拡大表示してみる。
1.ルームを選んでインスペクター内の「Viewportとカメラ」を選択
2.「ビューポート」と「Viewportの背景をクリア」をチェック
3.カメラプロパティにステージのどのぐらいを映すかを設定
今回はステージが狭いため全ステージの幅640x360を入力
4.Viewportプロパティに1280x720として2倍拡大表示に設定
5.フォロー中のオブジェクトにプレイヤーを設定
![](https://assets.st-note.com/img/1733644869-NzXcL725IrBpdbyMZCOhqwDV.png?width=1200)
色やアニメーションを調整
ゲームに出して見て色やアニメーションを調整。
プロポーションが四角過ぎたので少し丸くしてみたが下手は変わらん。
まあ、すぐに上手くなるわけじゃないと言い聞かせることが大事。
![](https://assets.st-note.com/production/uploads/images/165167630/picture_pc_5e1ea795f1cec94e5f118ee52eea98d8.gif)
![](https://assets.st-note.com/production/uploads/images/165167610/picture_pc_4f7f46176ca0f6a3adaa147a281c454e.gif)
![](https://assets.st-note.com/production/uploads/images/165167623/picture_pc_d1a35d4ddd0690c7a8c857efa957cf30.gif)
![](https://assets.st-note.com/production/uploads/images/165167556/picture_pc_896a35f062595f116fd6d5c409120072.gif)
![](https://assets.st-note.com/production/uploads/images/165167527/picture_pc_d7d210c2539d26c1ddaf96adb81069f8.gif)
ゲームで組み込んだ感じはこんな感じ
![](https://assets.st-note.com/production/uploads/images/165101664/picture_pc_080041e27df32808a83424a6814a93eb.gif?width=1200)
結論
GIFアニメーションを簡単に取り込めて超便利
![](https://assets.st-note.com/production/uploads/images/165297568/picture_pc_12187c284c5153404cedb79645bc3532.gif)