using System.Collections;
using System.Collections.Generic;
using UnityEditor.U2D;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerControl : MonoBehaviour
{
private bool _isAlive = true; // введем булевую переменную указывающую на то, что персонаж жив
public float force;
public float speed;
public Sprite astronaut_2;
private Rigidbody2D _rigidbody;
public Sprite _raisingSprite;
public Sprite _fallSprite;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Jump();
}
if (!_isAlive && transform.position.y >= 4.4)
{
SceneManager.LoadScene("level_1");
}
if (!_isAlive && transform.position.y <= -4) // указываем, что если позиция меньше или равна -4, и персонаж не жив (_isAlive не равно true), то перезапускаем сцену
{
SceneManager.LoadScene("level_1");
}
{
if (_rigidbody.velocity.y >= 0)
{
gameObject.GetComponent<SpriteRenderer>().sprite = _raisingSprite;
}
else
{
gameObject.GetComponent<SpriteRenderer>().sprite = _fallSprite;
}
}
}
void Jump()
{
GetComponent<Rigidbody2D>().velocity = new Vector2(speed, 0f);
GetComponent<Rigidbody2D>().AddForce(Vector2.up * force); //управление персонажа
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == "Enemy")
{
GetComponent<Rigidbody2D>().velocity = new Vector2(-7f, 0f);
GetComponent<Rigidbody2D>().AddForce(Vector2.up * 300); //отбрасывание персонажа после соприкосновения с препятсвием
gameObject.GetComponent<SpriteRenderer>().sprite = astronaut_2; //смена спрайта игрока после соприкосновения с препятсвием
_isAlive = false; // после столкновения переключаем переменную в значение false, указывая на то, что персонаж погиб
}
}
}
if (_rigidbody.velocity.y >= 0) // вот тут, '_rigidbody'
{
gameObject.GetComponent<SpriteRenderer>().sprite = _raisingSprite;
}
else
{
gameObject.GetComponent<SpriteRenderer>().sprite = _fallSprite;
}