
次は プレイヤーが弾を撃つ機能を作ります。
弾のオブジェクトを作る
Hierarchyの欄を
右クリック
↓
Create Empty
名前をBulletに変更
見た目をつける
Add Component
↓
Sprite Renderer
Sprite None (◯)の
(◯) を押します。
丸をクリックすると
Select Sprite
というウィンドウが出ます。
そこで
Square
Circle
Triangle
などが選べます。
Squareを選ぶと白い四角が表示されます。
もし Square が出ない場合
その場合はこれを作ります👇
Assets
右クリック
↓
Create
↓
2Ⅾ
↓
Sprites
↓
Square
当たり判定
Add Component
↓
physics 2D
↓
Box Collider 2D
動きをつける
Add Component
↓
physics 2D
↓
Rigidbody2D
Gravity Scale = 0にする
弾のスクリプト
Assetsで
右クリック
Create
↓
Empty C# Script
名前をBulletMoveに
コード
意味
弾が上に飛ぶ
画面外に行ったら消える
Bulletにスクリプトをつける
Hierarchy欄の
Bulletを選ぶ
Inspectorで
Add Component
↓
scripts
↓
BulletMove
プレハブにする
Hierarchyの欄のBulletを
Assetsに ドラッグ
すると
Bullet (Prefab)
ができます。
プレイヤーから弾を撃つ
AssetsのPlayerMoveスクリプトを開く
public float speed = 5f;の下に
transform.position = new Vector3(clampX, clampY, 0);と }の間に
を追加する
弾をセット
Hierarchyの欄のPlayerをクリック
Inspectorの欄のPlayerMove(Scripts)に
Bullet Prefabが出る
そこに
assetsのBullet(Prefab)を ドラッグ
Hierarchyの欄のBullet を削除する
Bullet が シーンに存在しているので
このままだとゲーム開始時に 弾が表示されます。
Hierarchy の
Bullet
を
Delete
します。
こうする👇
SampleScene
├ Main Camera
├ player
├ Enemy
├ EnemySpawner
Bullet が シーンに無い状態にする。
完成
ゲームを再生
← → で移動
SPACE で弾発射