敵オブジェクトの作成
![D10fb024 faf8 4575 95b1 544cbfc6a0ba](https://codegenius.org/uploads/slide/image/8999/d10fb024-faf8-4575-95b1-544cbfc6a0ba.jpeg)
![18515820 50a8 4471 a8b4 7c8c4b93590f](https://codegenius.org/uploads/slide/image/9000/18515820-50a8-4471-a8b4-7c8c4b93590f.jpeg)
![930e1b71 da04 447b 82de 36247a094d1a](https://codegenius.org/uploads/slide/image/9001/930e1b71-da04-447b-82de-36247a094d1a.jpeg)
![04b23a3b ac63 4db6 be38 d6eb726321a6](https://codegenius.org/uploads/slide/image/9002/04b23a3b-ac63-4db6-be38-d6eb726321a6.jpeg)
敵からダメージを受ける
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerHP : MonoBehaviour
{
public AudioClip damageSound;
private Animator animator;
private int HP;
private int maxHP = 3;
public GameObject[] hpIcons;
public AudioClip dieSound;
private void Start()
{
animator = GetComponent<Animator>();
HP = maxHP;
}
private void OnCollisionEnter2D(Collision2D collision)
{
// ★追加(敵からダメージ)
if (collision.gameObject.CompareTag("Trap") || collision.gameObject.CompareTag("Enemy")) // 条件の追加
{
HP -= 1;
HPIconManager();
animator.SetTrigger("Damage");
if (HP > 0)
{
AudioSource.PlayClipAtPoint(damageSound, transform.position);
}
else
{
AudioSource.PlayClipAtPoint(dieSound, transform.position);
Invoke("Restart", 0.15f);
}
}
}
void HPIconManager()
{
for (int i = 0; i < hpIcons.Length; i++)
{
if (i < HP)
{
hpIcons[i].SetActive(true);
}
else
{
hpIcons[i].SetActive(false);
}
}
}
void Restart()
{
SceneManager.LoadScene("Main");
}
}
![E806e8b5 5f73 4fcb bb37 8fc22c640309](https://codegenius.org/uploads/slide/image/9003/e806e8b5-5f73-4fcb-bb37-8fc22c640309.jpeg)
【2022版】ActionGame2D(全33回)
他のコースを見る![D10fb024 faf8 4575 95b1 544cbfc6a0ba](https://codegenius.org/uploads/slide/image/8999/d10fb024-faf8-4575-95b1-544cbfc6a0ba.jpeg)
![18515820 50a8 4471 a8b4 7c8c4b93590f](https://codegenius.org/uploads/slide/image/9000/18515820-50a8-4471-a8b4-7c8c4b93590f.jpeg)
![930e1b71 da04 447b 82de 36247a094d1a](https://codegenius.org/uploads/slide/image/9001/930e1b71-da04-447b-82de-36247a094d1a.jpeg)
![04b23a3b ac63 4db6 be38 d6eb726321a6](https://codegenius.org/uploads/slide/image/9002/04b23a3b-ac63-4db6-be38-d6eb726321a6.jpeg)
敵からダメージを受ける
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerHP : MonoBehaviour
{
public AudioClip damageSound;
private Animator animator;
private int HP;
private int maxHP = 3;
public GameObject[] hpIcons;
public AudioClip dieSound;
private void Start()
{
animator = GetComponent<Animator>();
HP = maxHP;
}
private void OnCollisionEnter2D(Collision2D collision)
{
// ★追加(敵からダメージ)
if (collision.gameObject.CompareTag("Trap") || collision.gameObject.CompareTag("Enemy")) // 条件の追加
{
HP -= 1;
HPIconManager();
animator.SetTrigger("Damage");
if (HP > 0)
{
AudioSource.PlayClipAtPoint(damageSound, transform.position);
}
else
{
AudioSource.PlayClipAtPoint(dieSound, transform.position);
Invoke("Restart", 0.15f);
}
}
}
void HPIconManager()
{
for (int i = 0; i < hpIcons.Length; i++)
{
if (i < HP)
{
hpIcons[i].SetActive(true);
}
else
{
hpIcons[i].SetActive(false);
}
}
}
void Restart()
{
SceneManager.LoadScene("Main");
}
}
![E806e8b5 5f73 4fcb bb37 8fc22c640309](https://codegenius.org/uploads/slide/image/9003/e806e8b5-5f73-4fcb-bb37-8fc22c640309.jpeg)
敵オブジェクトの作成