Для удобства
переверните экран смартфона
Для удобства
переверните экран смартфона
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMove: MonoBehaviour // - Вместо «PlayerMove» должно быть имя файла скрипта
{
//------- Функция/метод, выполняемая при запуске игры ---------
public Rigidbody2D rb;
public Animator anim;
void Start()
{
rb = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
//-v- Для автоматического присваивания в переменную, радиуса коллайдера объекта «GroundCheck»
GroundCheckRadius = GroundCheck.GetComponent<CircleCollider2D>().radius;
}
//------- Функция/метод, выполняемая каждый кадр в игре ---------
void Update()
{
Walk();
Reflect();
Jump();
CheckingGround();
}
//------- Функция/метод для перемещения персонажа по горизонтали ---------
public Vector2 moveVector;
public int speed = 3;
void Walk()
{
if (!blockMoveX)
{
moveVector.x = Input.GetAxisRaw("Horizontal");
rb.velocity = new Vector2(moveVector.x * speed, rb.velocity.y);
anim.SetFloat("moveX", Mathf.Abs(moveVector.x));
}
}
//------- Функция/метод для отражения персонажа по горизонтали ---------
public bool faceRight = true;
void Reflect()
{
if (!blockMoveX)
{
if ((moveVector.x > 0 && !faceRight) || (moveVector.x < 0 && faceRight))
{
transform.localScale *= new Vector2(-1, 1);
faceRight = !faceRight;
}
}
}
//------- Функция/метод для прыжка ---------
public int jumpForce = 10;
void Jump()
{
if (onGround && Input.GetKeyDown(KeyCode.Space))
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
}
}
//------- Функция/метод для обнаружения земли ---------
public bool onGround;
public LayerMask Ground;
public Transform GroundCheck;
private float GroundCheckRadius;
void CheckingGround()
{
onGround = Physics2D.OverlapCircle(GroundCheck.position, GroundCheckRadius, Ground);
anim.SetBool("onGround", onGround);
}
//-----------------------------------------------------------------
public bool blockMoveX;
public Transform DopPosition;
public float dopRadius = 0.04f;
private void OnDrawGizmos()
{
Gizmos.color = Color.red;
Gizmos.DrawSphere(DopPosition.position.x, dopRadius);
}
void LedgeGo()
{
transform.position = new Vector3(DopPosition.position.x, DopPosition.position.y, transform.position.z);
}
void StartAnimLedge()
{
blockMoveX = true;
rb.velocity = Vector2.zero;
anim.Play("ledgeClimbPlatfom");
}
}
//-----------------------------------------------------------------
//------- СКРИПТ TriggerClimb ---------
//-----------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TriggerClimb: MonoBehaviour
{
CharacterControl CharControl;
BoxCollider2D box;
public LayerMask Detect;
void Start()
{
CharControl = GetComponentInParent<();
box = GetComponents<BoxCollider2D>()[0];
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (((Detect.value & 1 << collision.gameObject.layer) != 0) { box.enabled = false; }
}
private void OnTriggerExit2D(Collider2D collision)
{
if (((Detect.value & 1 << collision.gameObject.layer) != 0) { box.enabled = false; }
}
private void OnCollisionEnter2D(Collision 2D collision)
{
if ((Detect.value & 1 << collision.gameObject.layer) != 0 && CharControl.rb.velocity.y <= 0)
{
CharControl.StartAnimLedge();
}
}
}
Вопрос 1
Скандинавская мифология — мифология древних скандинавов, часть древнегерманской мифологии.
Вопрос 2
Скандинавская мифология — мифология древних скандинавов, часть древнегерманской мифологии.
Вопрос 3
Скандинавская мифология — мифология древних скандинавов, часть древнегерманской мифологии.
Вопрос 4
Скандинавская мифология — мифология древних скандинавов, часть древнегерманской мифологии.
Вопрос 5
Скандинавская мифология — мифология древних скандинавов, часть древнегерманской мифологии.
Блок не заполнен
или типовых проблем не найдено