private void CheckGround() { Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, 1f); ///Массив всеъ колайдеров в радиусе 1 isGrounded = colliders.Length > 1; ///Если калайдеров > 1 то прыгать мы не можем ///Если прыгаем, то анимация прыжка if (!isGrounded) { State = Charstate.Jump; } }
/// Все что тут, постоянно обновляется private void Update() { ScoreText.text = "Score : " + points; //Debug.Log(points); nowTime += Time.deltaTime; if (isGrounded) { State = Charstate.Idle; } if (Input.GetKeyDown(KeyCode.LeftAlt)) { if (nextShootTime <= nowTime) { Shoot(); nextShootTime += nowTime + 5; } } if (Input.GetButton("Horizontal")) { Run(); } if (isGrounded && Input.GetButtonDown("Jump")) { Jump(); } if (win_game) { MAIN_TEXT.text = "YOU WIN!!!"; if (nowTime >= oldTime + 3) { SceneManager.LoadScene("MainMenu"); } } else if (Lives <= 0 || transform.position.y < -30) { MAIN_TEXT.text = "Fail:("; if (nowTime >= oldTime + 3) { SceneManager.LoadScene("MainMenu"); } } else { oldTime = nowTime; } if (Input.GetKeyDown(KeyCode.Escape)) { SceneManager.LoadScene("MainMenu"); } }
private void Run() { direction = Vector3.right * Input.GetAxis("Horizontal"); transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.deltaTime); ///Если GetAxis вернул -1 то вправо если 1 то влево spriteRenderer.flipX = direction.x < 0.0f; ///Если на земле и бежим то включается анимация бега if (isGrounded) { State = Charstate.Run; } }