using UnityEngine;
using TMPro;
public class PlayerController : MonoBehaviour
{
[SerializeField] float rotationSpeed = 50f;
[SerializeField] float jumpForce = 5f;
[SerializeField] float raycastDistance = 1f;
[SerializeField] LayerMask groundLayer;
[SerializeField] TextMeshProUGUI counterTxt;
[SerializeField] int counter;
private Rigidbody2D rb;
private SpriteRenderer spriteRenderer;
private bool isGrounded;
void Start()
{
rb = GetComponent<Rigidbody2D>();
spriteRenderer = GetComponent<SpriteRenderer>();
}
void Update()
{
RotateCube();
CheckGrounded();
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
Jump();
}
}
void RotateCube()
{
transform.Rotate(0, 0, rotationSpeed * Time.deltaTime);
}
void CheckGrounded()
{
//сверху методы RotateCube() Update() Start()
Vector2 rayStart = transform.position;
RaycastHit2D hit = Physics2D.Raycast(rayStart, Vector2.down, raycastDistance, groundLayer);
if (hit.collider != null)
{
isGrounded = true;
}
else
{
isGrounded = false;
}
//снизу Jump() ChangeColor() plsCount()
}
private void OnTriggerEnter2D(Collider2D collision)
{
}
void Jump()
{
rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse);
counter += 5;
ChangeColor();
plsCount();
Vector3 pos = Camera.main.ViewportToWorldPoint(new Vector3(Random.Range(0.1f, 0.9f), Random.Range(0.5f, 0.9f), 10f));
pos.z = 0;
Instantiate(gameObject, pos, Quaternion.identity);
}
void ChangeColor()
{
spriteRenderer.color = Random.ColorHSV(0f, 1f, 0.7f, 1f, 0.8f, 1f);
counterTxt.color = Random.ColorHSV(0f,