ゲームオーバーの作成
![1ab96d2c d305 4c48 8b26 74526a500a74](https://codegenius.org/uploads/slide/image/9589/1ab96d2c-d305-4c48-8b26-74526a500a74.jpeg)
![698118b5 2242 49c9 a837 b0d4231bbfd2](https://codegenius.org/uploads/slide/image/9590/698118b5-2242-49c9-a837-b0d4231bbfd2.jpeg)
![2e65959e 935a 4dd4 ad3c 84d4ea8323e5](https://codegenius.org/uploads/slide/image/9591/2e65959e-935a-4dd4-ad3c-84d4ea8323e5.jpeg)
![5bd34aca 732c 4f43 a6bd 6e7058834c0c](https://codegenius.org/uploads/slide/image/9592/5bd34aca-732c-4f43-a6bd-6e7058834c0c.jpeg)
![C4f0efed f59a 4988 bf65 1aa89d389881](https://codegenius.org/uploads/slide/image/9593/c4f0efed-f59a-4988-bf65-1aa89d389881.jpeg)
下に落ちたらゲームオーバー
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Ball : MonoBehaviour
{
public float moveSpeed;
private Rigidbody rb;
public AudioClip coinGet;
public float jumpSpeed;
private bool isJumping = false;
private int coinCount = 0;
// ★追加
private Vector3 pos;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
// ★追加
// Ballの現在位置を取得する。
pos = transform.position;
if (pos.y < -10)
{
SceneManager.LoadScene("GameOver");
}
float moveH = Input.GetAxis("Horizontal");
float moveV = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveH, 0, moveV);
rb.AddForce(movement * moveSpeed);
if (Input.GetButtonDown("Jump") && isJumping == false)
{
rb.velocity = Vector3.up * jumpSpeed;
isJumping = true;
}
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Coin"))
{
Destroy(other.gameObject);
AudioSource.PlayClipAtPoint(coinGet, transform.position);
coinCount += 1;
if (coinCount == 2)
{
SceneManager.LoadScene("GameClear");
}
}
}
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Floor"))
{
isJumping = false;
}
}
}
![3067d1e3 8321 4912 8ec4 109615a65841](https://codegenius.org/uploads/slide/image/9594/3067d1e3-8321-4912-8ec4-109615a65841.jpeg)
【2022版】BallGame(全27回)
他のコースを見る![1ab96d2c d305 4c48 8b26 74526a500a74](https://codegenius.org/uploads/slide/image/9589/1ab96d2c-d305-4c48-8b26-74526a500a74.jpeg)
![698118b5 2242 49c9 a837 b0d4231bbfd2](https://codegenius.org/uploads/slide/image/9590/698118b5-2242-49c9-a837-b0d4231bbfd2.jpeg)
![2e65959e 935a 4dd4 ad3c 84d4ea8323e5](https://codegenius.org/uploads/slide/image/9591/2e65959e-935a-4dd4-ad3c-84d4ea8323e5.jpeg)
![5bd34aca 732c 4f43 a6bd 6e7058834c0c](https://codegenius.org/uploads/slide/image/9592/5bd34aca-732c-4f43-a6bd-6e7058834c0c.jpeg)
![C4f0efed f59a 4988 bf65 1aa89d389881](https://codegenius.org/uploads/slide/image/9593/c4f0efed-f59a-4988-bf65-1aa89d389881.jpeg)
下に落ちたらゲームオーバー
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Ball : MonoBehaviour
{
public float moveSpeed;
private Rigidbody rb;
public AudioClip coinGet;
public float jumpSpeed;
private bool isJumping = false;
private int coinCount = 0;
// ★追加
private Vector3 pos;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
// ★追加
// Ballの現在位置を取得する。
pos = transform.position;
if (pos.y < -10)
{
SceneManager.LoadScene("GameOver");
}
float moveH = Input.GetAxis("Horizontal");
float moveV = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveH, 0, moveV);
rb.AddForce(movement * moveSpeed);
if (Input.GetButtonDown("Jump") && isJumping == false)
{
rb.velocity = Vector3.up * jumpSpeed;
isJumping = true;
}
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Coin"))
{
Destroy(other.gameObject);
AudioSource.PlayClipAtPoint(coinGet, transform.position);
coinCount += 1;
if (coinCount == 2)
{
SceneManager.LoadScene("GameClear");
}
}
}
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Floor"))
{
isJumping = false;
}
}
}
![3067d1e3 8321 4912 8ec4 109615a65841](https://codegenius.org/uploads/slide/image/9594/3067d1e3-8321-4912-8ec4-109615a65841.jpeg)
ゲームオーバーの作成