Синтаксис:
Используется csharp
public class Character : MonoBehaviour {
[SerializeField]
private int lives = 5; //кол-во жизней
[SerializeField]
private float speed = 3.0F; //Скорость игрока
[SerializeField]
private float jumpForce = 15.0F; //сила прыжка
new private Rigidbody2D rigidbody;
private Animator animator;
private SpriteRenderer sprite;
private bool isGrounded = false;
private PlayerState2 State {
get {
return (PlayerState2) animator.GetInteger("State");
}
set {
animator.SetInteger("State", (int) value);
}
}
private void Awake() {
rigidbody = GetComponent<Rigidbody2D>();
animator = GetComponent<Animator>();
sprite = GetComponentInChildren<SpriteRenderer>();
}
private void FixedUpdate() {
CheckGround();
}
void Update () {
if (isGrounded) {
State = PlayerState2.Idle;
}
if (Input.GetButton("Horizontal")) {
Run();
}
if (isGrounded && Input.GetButtonDown("Vertical")) {
Jump();
}
}
public void Logs() {
Debug.Log("Hello!");
Vector3 direction = transform.right * Input.GetAxis("Horizontal");
sprite.flipX = direction.x < 0.0F;
}
public void Run() {
//направление бега
Vector3 direction = transform.right * Input.GetAxis("Horizontal");
transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.deltaTime);
sprite.flipX = direction.x < 0.0F;
if (isGrounded) {
State = PlayerState2.Run;
}
}
public void Jump() {
rigidbody.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
}
private void CheckGround() {
Collider2D[] collides = Physics2D.OverlapCircleAll(transform.position, 0.3F);
isGrounded = collides.Length > 1;
if (!isGrounded) {
State = PlayerState2.Jump;
}
}
}
public enum PlayerState2 {
Idle,
Run,
Jump
}
[SerializeField]
private int lives = 5; //кол-во жизней
[SerializeField]
private float speed = 3.0F; //Скорость игрока
[SerializeField]
private float jumpForce = 15.0F; //сила прыжка
new private Rigidbody2D rigidbody;
private Animator animator;
private SpriteRenderer sprite;
private bool isGrounded = false;
private PlayerState2 State {
get {
return (PlayerState2) animator.GetInteger("State");
}
set {
animator.SetInteger("State", (int) value);
}
}
private void Awake() {
rigidbody = GetComponent<Rigidbody2D>();
animator = GetComponent<Animator>();
sprite = GetComponentInChildren<SpriteRenderer>();
}
private void FixedUpdate() {
CheckGround();
}
void Update () {
if (isGrounded) {
State = PlayerState2.Idle;
}
if (Input.GetButton("Horizontal")) {
Run();
}
if (isGrounded && Input.GetButtonDown("Vertical")) {
Jump();
}
}
public void Logs() {
Debug.Log("Hello!");
Vector3 direction = transform.right * Input.GetAxis("Horizontal");
sprite.flipX = direction.x < 0.0F;
}
public void Run() {
//направление бега
Vector3 direction = transform.right * Input.GetAxis("Horizontal");
transform.position = Vector3.MoveTowards(transform.position, transform.position + direction, speed * Time.deltaTime);
sprite.flipX = direction.x < 0.0F;
if (isGrounded) {
State = PlayerState2.Run;
}
}
public void Jump() {
rigidbody.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
}
private void CheckGround() {
Collider2D[] collides = Physics2D.OverlapCircleAll(transform.position, 0.3F);
isGrounded = collides.Length > 1;
if (!isGrounded) {
State = PlayerState2.Jump;
}
}
}
public enum PlayerState2 {
Idle,
Run,
Jump
}