トラップの作成3(Playerに耐久力を追加する)
![Be5d12d8 8738 4d06 9950 a95de9f68857](https://codegenius.org/uploads/slide/image/8991/be5d12d8-8738-4d06-9950-a95de9f68857.jpeg)
![D1ddf635 5728 48f2 8f8b 10754ce09968](https://codegenius.org/uploads/slide/image/8992/d1ddf635-5728-48f2-8f8b-10754ce09968.jpeg)
HPの追加
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerHP : MonoBehaviour
{
public AudioClip damageSound;
private Animator animator;
// ★追加(HP)
private int HP;
private int maxHP = 3;
public GameObject[] hpIcons;
private void Start()
{
animator = GetComponent<Animator>();
// ★追加(HP)
HP = maxHP;
}
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Trap"))
{
// ★追加(HP)
HP -= 1;
HPIconManager();
animator.SetTrigger("Damage");
AudioSource.PlayClipAtPoint(damageSound, transform.position);
}
}
// ★追加(HP)
// HPアイコンの表示を管理するメソッド
void HPIconManager()
{
for (int i = 0; i < hpIcons.Length; i++)
{
if (i < HP)
{
hpIcons[i].SetActive(true);
}
else
{
hpIcons[i].SetActive(false);
}
}
}
}
![Ca931324 f156 4af0 aa6a 9518420f146b](https://codegenius.org/uploads/slide/image/8993/ca931324-f156-4af0-aa6a-9518420f146b.jpeg)
![24731202 abe0 49bd a4ce 1fae6ec83bb1](https://codegenius.org/uploads/slide/image/8994/24731202-abe0-49bd-a4ce-1fae6ec83bb1.jpeg)
![D348215f 6e02 4acc 9fd4 792e8ae0112a](https://codegenius.org/uploads/slide/image/8995/d348215f-6e02-4acc-9fd4-792e8ae0112a.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"))
{
HP -= 1;
HPIconManager();
animator.SetTrigger("Damage");
// ★追加&改良(リスタート)
if (HP > 0)
{
AudioSource.PlayClipAtPoint(damageSound, transform.position);
}
else
{
AudioSource.PlayClipAtPoint(dieSound, transform.position);
// 0.15秒後にリスタートにする。
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");
}
}
![02784bcc ff7e 492d 9f55 71b3d4373eec](https://codegenius.org/uploads/slide/image/8996/02784bcc-ff7e-492d-9f55-71b3d4373eec.jpeg)
![D728d638 5bcc 4647 ba4a 33741c039370](https://codegenius.org/uploads/slide/image/8997/d728d638-5bcc-4647-ba4a-33741c039370.jpeg)
![9b656be8 1553 4aa1 96d6 6a1fcdeb8c6f](https://codegenius.org/uploads/slide/image/8998/9b656be8-1553-4aa1-96d6-6a1fcdeb8c6f.jpeg)
【2022版】ActionGame2D(全33回)
他のコースを見る![Be5d12d8 8738 4d06 9950 a95de9f68857](https://codegenius.org/uploads/slide/image/8991/be5d12d8-8738-4d06-9950-a95de9f68857.jpeg)
![D1ddf635 5728 48f2 8f8b 10754ce09968](https://codegenius.org/uploads/slide/image/8992/d1ddf635-5728-48f2-8f8b-10754ce09968.jpeg)
HPの追加
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerHP : MonoBehaviour
{
public AudioClip damageSound;
private Animator animator;
// ★追加(HP)
private int HP;
private int maxHP = 3;
public GameObject[] hpIcons;
private void Start()
{
animator = GetComponent<Animator>();
// ★追加(HP)
HP = maxHP;
}
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Trap"))
{
// ★追加(HP)
HP -= 1;
HPIconManager();
animator.SetTrigger("Damage");
AudioSource.PlayClipAtPoint(damageSound, transform.position);
}
}
// ★追加(HP)
// HPアイコンの表示を管理するメソッド
void HPIconManager()
{
for (int i = 0; i < hpIcons.Length; i++)
{
if (i < HP)
{
hpIcons[i].SetActive(true);
}
else
{
hpIcons[i].SetActive(false);
}
}
}
}
![Ca931324 f156 4af0 aa6a 9518420f146b](https://codegenius.org/uploads/slide/image/8993/ca931324-f156-4af0-aa6a-9518420f146b.jpeg)
![24731202 abe0 49bd a4ce 1fae6ec83bb1](https://codegenius.org/uploads/slide/image/8994/24731202-abe0-49bd-a4ce-1fae6ec83bb1.jpeg)
![D348215f 6e02 4acc 9fd4 792e8ae0112a](https://codegenius.org/uploads/slide/image/8995/d348215f-6e02-4acc-9fd4-792e8ae0112a.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"))
{
HP -= 1;
HPIconManager();
animator.SetTrigger("Damage");
// ★追加&改良(リスタート)
if (HP > 0)
{
AudioSource.PlayClipAtPoint(damageSound, transform.position);
}
else
{
AudioSource.PlayClipAtPoint(dieSound, transform.position);
// 0.15秒後にリスタートにする。
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");
}
}
![02784bcc ff7e 492d 9f55 71b3d4373eec](https://codegenius.org/uploads/slide/image/8996/02784bcc-ff7e-492d-9f55-71b3d4373eec.jpeg)
![D728d638 5bcc 4647 ba4a 33741c039370](https://codegenius.org/uploads/slide/image/8997/d728d638-5bcc-4647-ba4a-33741c039370.jpeg)
![9b656be8 1553 4aa1 96d6 6a1fcdeb8c6f](https://codegenius.org/uploads/slide/image/8998/9b656be8-1553-4aa1-96d6-6a1fcdeb8c6f.jpeg)
トラップの作成3(Playerに耐久力を追加する)