Search Unity

Question Death screen issue

Discussion in 'Getting Started' started by valglamurchik, Jan 6, 2024.

  1. valglamurchik

    valglamurchik

    Joined:
    Jan 2, 2024
    Posts:
    3
    Please help me to make a screen of death for my game, I'm doing something like Flappy Bird and I don't want to display the screen of death after death, please help me, I'm a beginner

    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. public class DeathScreenManager : MonoBehaviour
    4. {
    5.     public GameObject deathScreen;
    6.  
    7.     void Start()
    8.     {
    9.         HideDeathScreen();
    10.     }
    11.  
    12.     public void ShowDeathScreen(bool show)
    13.     {
    14.         deathScreen.SetActive(show);
    15.     }
    16.  
    17.     public void HideDeathScreen()
    18.     {
    19.         deathScreen.SetActive(false);
    20.     }
    21. }
    22.  

    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. public class FlappyBirdController : MonoBehaviour
    4. {
    5.     public float jumpForce = 5.0f;
    6.     public float forwardSpeed = 2.0f;
    7.     private Rigidbody birdRigidbody;
    8.     private bool isDead = false;
    9.     public Animator animator;
    10.     public DeathScreenManager deathScreenManager;  // Переконайтеся, що ви маєте посилання на ваш DeathScreenManager
    11.  
    12.     void Start()
    13.     {
    14.         birdRigidbody = GetComponent<Rigidbody>();
    15.         isDead = false;  // Ініціалізуємо на початку гри
    16.     }
    17.  
    18.     void Update()
    19.     {
    20.         if (!isDead && Input.GetMouseButtonDown(0))
    21.         {
    22.             Jump();
    23.         }
    24.     }
    25.  
    26.     void FixedUpdate()
    27.     {
    28.         if (!isDead)
    29.         {
    30.             MoveForward();
    31.         }
    32.     }
    33.  
    34.     void Jump()
    35.     {
    36.         birdRigidbody.velocity = new Vector3(forwardSpeed, jumpForce, 0);
    37.     }
    38.  
    39.     void MoveForward()
    40.     {
    41.         birdRigidbody.velocity = new Vector3(forwardSpeed, birdRigidbody.velocity.y, 0);
    42.     }
    43.  
    44.     void OnCollisionEnter(Collision collision)
    45.     {
    46.         if (collision.gameObject.CompareTag("Obstacle"))
    47.         {
    48.             Die();
    49.         }
    50.     }
    51.  
    52.     void Die()
    53.     {
    54.         isDead = true;
    55.  
    56.         // Зупинити рух гравця
    57.         birdRigidbody.velocity = Vector3.zero;
    58.  
    59.         // Зупинити анімацію гравця (додайте свої параметри анімації, якщо потрібно)
    60.         animator.enabled = false;
    61.  
    62.         // Показати екран смерті
    63.         deathScreenManager.ShowDeathScreen(true);
    64.  
    65.         // Додаткові дії при смерті, якщо потрібно
    66.         Debug.Log("Bird died");
    67.     }
    68. }
    69.  


    Code (CSharp):
    1. using UnityEngine;
    2.  
    3. public class PlayerController : MonoBehaviour
    4. {
    5.     public int health = 100; // Здоров'я гравця
    6.  
    7.     // Інші змінні і методи
    8.  
    9.     public void TakeDamage(int damageAmount)
    10.     {
    11.         health -= damageAmount;
    12.  
    13.         if (health <= 0)
    14.         {
    15.             Die();
    16.         }
    17.     }
    18.  
    19.     // Інші методи
    20. }
    21.