Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

Unityでアクションゲームを作りたい

Last updated at Posted at 2024-12-19

はじめに

こんにちは。AdventCalendar 19日目を担当するyukki8です。
本記事では、Unityでアクションゲームを作る方法を紹介します。
内容としては、ステージの作成とプレイヤーの作成・移動・ジャンプの設定となっています。

本記事で紹介する方法・説明は、正しくなかったり、回りくどいものであったりするかもしれないことをあらかじめご了承ください。

ステージの作成

手順
1.Hierarchy欄の+を押す
2.2D object > Sprites > Square を選択する
3.Hierarchy欄のSquareを選択する
4.Inspector欄の一番下にあるAdd Componentを押す
5.Physics 2D > Box Collider 2D を選択する

これでプレイヤーが立つことのできるステージが出来ました。
ポイントとしては4~5の工程で、これをしていないと当たり判定がありません。
あとはHierarchy欄でSqareをコピペして、自分好みのステージを作りましょう。

プレイヤーの作成

今回は四角をプレイヤーにします。

手順
1.「ステージの作成」の手順でもう1個Sqareを作る
(大きさを変えてなければコピペで良い)
2.名前をPlayerにする
3.Inspector欄の一番下にあるAdd Componentを押す
4.Playables > Playable Director を選択する
5.もう1度Add Componentを押す
6.Physics 2D > Rigidbody 2D を選択する

これでプレイヤーの作成ができました。
ここからプレイヤーが移動・ジャンプをできるようにしていきます。

プレイヤーの移動

手順
1.Inspector欄の一番下にあるAdd Componentを押す
2.Componentの上の検索欄からScript Machine と検索し選択する
3.Inspector欄にあるScript Machineの項目のNewを押し、ファイルを作成する
4.Script Machineの項目のEdit Graphを押す
5.画面サイズを大きくし、右クリックで必要なノードを作成しながら以下のように作る
スクリーンショット 2024-12-19 221512.png

5の工程について補足説明します。
Get Axisの中でHorizontalと入力することで、キーボードの←と→の入力を受け付けるようにしています。
Multiplyは速さの調整をしているだけなので、数字は0.3じゃなくても良いです。
TrnslateのXにつなげることで、プレイヤーが横方向に移動するようにしています。

これでプレイヤーが移動できるようになりました。

プレイヤーのジャンプ

今回はState Machineを使う方法でジャンプができるようにします。

手順
1.Inspector欄の一番下にあるAdd Componentを押す
2.Componentの上の検索欄からState Machine と検索し選択する
3.Inspector欄にあるState Machineの項目のNewを押し、ファイルを作成する
4.State Machineの項目のEdit Graphを押す
5.画面サイズを大きくし、右クリックでCreate Script Stateを選択する
6.それぞれのノードで右クリックをしてMake Transitionを選択し、以下のようにつなげる
image.png
7.上の矢印の方のやつをクリックして以下のように作る
hlm1hyxs.png
スクリーンショット 2024-12-19 232759.png
8.下の方のやつをクリックして以下のように作る
image.png
9.右側のノードの名前のところをダブルクリックして以下のように作る
スクリーンショット 2024-12-19 233734.png
10.Inspector欄のRigidbodey 2Dの項目で、Gravity Scaleを2.5にし、Freeze RotationのZにチェックを入れる

7~10の工程について補足説明します。
State Machine内で画面遷移したら左上の方にあるPlayerを押すことで元の画面に戻ることができます。
7のGet Keyで、ジャンプするときに押すボタンを設定しています。
9のForceと10のGravity Scaleでプレイヤーのジャンプ力を設定しています。好きな数字に変えて良いです。
10のRotationのZにチェックを入れることで、プレイヤーの挙動がおかしくなるのを防いでいます。

これでプレイヤーがジャンプできるようになりました。

さいごに

今回紹介した方法の通りに作ることによって、2Dアクションゲームを作るための基盤がある程度できたと思います。
ちなみに今回紹介した方法通りに作ると、プレイヤーが壁に向かってジャンプすると壁に触れた後高くジャンプしてしまいます。どうやって直せばいいのかわかりません。助けてください。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?