ダウンロード リソースファイル (5.1 MB)
ダウンロード サンプルファイル (5.1 MB)
プレイヤーを作ろう
シーンの作成
続いて「Player」シーンを作ります。Godot Engineでは、シーンは画面のことではなく部品の単位です。
「Player」シーンのルートノードは「CharacterBody2D」を利用します。「CharacterBody2D」の継承構造は次のようになっています。
-
Node
-
CanvasItem
-
Node2D
-
CollisionObject2D
-
PhysicsBody2D
- CharacterBody2D
-
PhysicsBody2D
-
CollisionObject2D
-
Node2D
-
CanvasItem
「CollisionObject2D」というのが、互いに衝突して相互干渉するノードのルートになります。この配下には、次のようなノードがあります。
-
CollisionObject2D
-
PhysicsBody2D
-
StaticBody2D
- AnimatableBody2D
- CharacterBody2D
-
RigidBody2D
- PhysicalBone2D
-
StaticBody2D
- Area2D
-
PhysicsBody2D
「CharacterBody2D」は、プレイヤーキャラクターに特化したノードです。「テンプレート」をオンにしてこのノードにアタッチしたスクリプトを作ると、横スクロールゲームの左右移動とジャンプの処理が書かれた状態でスクリプトが作成されます。
このノードは、キー操作や衝突時の処理が非常に手軽に行えるように設計されています。
新しいシーンのルートに「CharacterBody2D」を作り、名前を「Player」に変更します。そして、子ノードを次のように配置します。
Playerシーン
-
Player(CharacterBody2D)
- AnimatedSprite2D
- CollisionShape2D
また、2Dビューで「Player」ノードを選択した状態で、ビュー上部の鍵アイコンの右隣の「選択 Node をグループ化」
をクリックします。
「Ctrl+S」でres://scn/player/player.tscnに保存します。
「Player」の「インスペクター」ドックの設定は特に変更の必要はありません。他のノードには変更が必要です。
AnimatedSprite2Dの設定
「AnimatedSprite2D」の「インスペクター」ドックには、次のような変更を加えます。
-
「AnimatedSprite2D」
-
「Animation」>「Sprite Frame」で「新規Sprite Frames」を選択
- 「アニメーション」の「default」を「walk」に変更
-
「アニメーションフレーム」に、
res://res/image/dot/player_1.pngとres://res/image/dot/player_2.pngを順番にドロップ - 「アニメーション」の「フレームレート」を「3.0」に変更
-
「Animation」>「Sprite Frame」で「新規Sprite Frames」を選択
CollisionShape2Dの設定
「CollisionShape2D」の「インスペクター」ドックには、次のような変更を加えます。
-
「CollisionShape2D」
- 「Shape」で「新規CapsuleShape2D」を選択
- キャラクターの画像に合わせてシェイプの形状を調整
この記事は参考になりましたか?
- この記事の著者
-
柳井 政和(ヤナイ マサカズ)
クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
