Посоветуйте как исправить баг...
Добавлено: 28 янв 2018, 06:59
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerMessange : MonoBehaviour {
public GameObject gameOver;
public GameObject GO = null;
public float time = 0;
public bool dt = true;
void Start()
{
GO = Instantiate(gameOver, transform);
GO.SetActive(false);
}
void Update()
{
if (dt) time += Time.deltaTime;
if (GlabalVar.HP <= 0)
{
GameOver();
}
}
void GetDamage(int damage)
{
dt = true;
GlabalVar.HP -= damage;
GO.SetActive(true);
if (time >= 0.01f)
{
GO.SetActive(false);
time = 0;
dt = false;
}
}
void GameOver()
{
if (GlabalVar.Life > 1)
{
GlabalVar.Life--;
GlabalVar.HP = 100;
GO.SetActive(true);
SceneManager.LoadScene(GlabalVar.Level--);
}
else
{
GO.SetActive(true);
SceneManager.LoadScene("go");
}
}
}
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerMessange : MonoBehaviour {
public GameObject gameOver;
public GameObject GO = null;
public float time = 0;
public bool dt = true;
void Start()
{
GO = Instantiate(gameOver, transform);
GO.SetActive(false);
}
void Update()
{
if (dt) time += Time.deltaTime;
if (GlabalVar.HP <= 0)
{
GameOver();
}
}
void GetDamage(int damage)
{
dt = true;
GlabalVar.HP -= damage;
GO.SetActive(true);
if (time >= 0.01f)
{
GO.SetActive(false);
time = 0;
dt = false;
}
}
void GameOver()
{
if (GlabalVar.Life > 1)
{
GlabalVar.Life--;
GlabalVar.HP = 100;
GO.SetActive(true);
SceneManager.LoadScene(GlabalVar.Level--);
}
else
{
GO.SetActive(true);
SceneManager.LoadScene("go");
}
}
}
---
Одна из частей скрипта отвечает за эффект попадания по персонажу (включает полупрозрачный спрайт).
БАГ:
если уйти из-под огня спрайт не успевает выключиться, перенести таймер в Update() не помогает (эффект вообще не включается),
уменьшить:
Синтаксис:
Используется csharp
if (time >= 0.01f)
{
GO.SetActive(false);
time = 0;
dt = false;
}
{
GO.SetActive(false);
time = 0;
dt = false;
}
до очень маленького значения - баг не исправляет.
Подскажите решение проблемы - буду благодарен!