- Home /
Question by
CDAXRC · Jan 02, 2018 at 01:55 PM ·
scene-loadingresettime.time
After scene reload this Mathf.Round(Time.time * 3) stopped working.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterController2 : MonoBehaviour {
public float speed;
public float moveSpeed;
private bool isDead = false;
private Rigidbody2D rb2d;
void Start ()
{
}
void Update (){
if (isDead == false) {
CheckUserInput ();
}
}
void CheckUserInput ()
{
if (Input.GetKeyDown (KeyCode.A)) {
transform.position += new Vector3 (-1, 0, 0);
}
if (Input.GetKeyDown (KeyCode.D)) {
transform.position += new Vector3 (1, 0, 0);
}
if (Input.GetKeyDown (KeyCode.W)) {
transform.position += new Vector3 (0, 1, 0);
}
if (Input.GetKeyDown (KeyCode.S)) {
transform.position += new Vector3 (0, -1, 0);
}
if (Mathf.Round(Time.time * 3) - speed == moveSpeed) {
transform.position += new Vector3 (0, 1, 0);
speed = Mathf.Round(Time.time * 3); ///////////AFTER scene reload time "stopped working"
}
}
void OnCollisionEnter2D(Collision2D other)
{
isDead = true;
GameManager.instance.BirdDied ();
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine.SceneManagement;
using UnityEngine;
public class GameManager : MonoBehaviour {
public static GameManager instance;
public bool gameOver = false;
// Use this for initialization
void Awake () {
//If we don't currently have a game control...
if (instance == null)
//...set this one to be it...
instance = this;
//...otherwise...
else if(instance != this)
//...destroy this one because it is a duplicate.
Destroy (gameObject);
}
// Update is called once per frame
void Update () {
//If the game is over and the player has pressed some input...
if (gameOver && Input.GetMouseButtonDown (0)) {
//...reload the current scene.
SceneManager.LoadScene(SceneManager.GetActiveScene ().buildIndex); //////RELOAD
}
}
public void BirdDied()
{
gameOver = true;
}
}
Comment