Прыжок не больше двух раз на C#

61
13 июня 2018, 01:40

Сразу говорю, я новичок в Unity и C#, но мне нужно сделать так, чтобы персонаж прыгал не больше двух раз, к примеру.

Вот мой код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move : MonoBehaviour {
 Rigidbody2D rb;
 Animator anim;
// Use this for initialization
void Start () {
    rb = GetComponent<Rigidbody2D>();
    anim = GetComponent<Animator>();
 }
// Update is called once per frame
void Update () {
    if (Input.GetKeyDown(KeyCode.Space)){ // нажатие ПРОБЕЛА для прыжка
        JumpMove();
    }
    if (Input.GetKeyDown(KeyCode.W))  // нажатие W для прыжка
    {
        JumpMove() ;
    }
    if (Input.GetAxis("Horizontal") == 0){
        anim.SetInteger("Anim1", 0);
    } else{
        Flip();
    anim.SetInteger("Anim1", 1);
    }
    if (Input.GetAxis("Horizontal") >0 )
    {
        anim.SetInteger("Anim1", 2);
    }
    if (Input.GetAxis("Horizontal") <0)
    {
        anim.SetInteger("Anim1", 2);
    }
}
void ReloadLevel(){
}
void Flip(){
    if (Input.GetAxis("Horizontal") > 0) transform.localRotation = Quaternion.Euler(0, 0, 0);
    if (Input.GetAxis("Horizontal") < 0) transform.localRotation = Quaternion.Euler(0, 180, 0);
}
 void FixedUpdate(){
    rb.velocity = new Vector2(Input.GetAxis("Horizontal") * 5f, rb.velocity.y);
}
void JumpMove(){
    rb.AddForce(transform.up * 5f , ForceMode2D.Impulse);
  }
}
Answer 1

Делаем счётчик прыжков

   int countJump = 0;

В методе прыжка проверяем его значение, если меньше 2х прыгаем.

void JumpMove(){
  if(countJump < 2){
    rb.AddForce(transform.up * 5f , ForceMode2D.Impulse);
    countJump++; 
  } 
}

Для повторного использования прыжков просто обнули countJump

READ ALSO
Как открыть Excel и получить адрес выбраной ячейки?

Как открыть Excel и получить адрес выбраной ячейки?

Есть Excel файлНужно открыть его в Excel и определить куда нажал пользователь (какую ячейку выбрал)

54
Entity or ValueObject?

Entity or ValueObject?

Только начал вникать в DDD Есть две сущности оператор и диалогУ оператора есть параметр Сектор, к которому относится оператор

61
Не могу сконвертировать dataGridView в таблицу байтов

Не могу сконвертировать dataGridView в таблицу байтов

ЗдравсвтуйтеТакая проблема, открываю xlsx файл, записываю данные с него(предположительно только цифры) в datagridview, а потом хочу с этого datagridview...

69
C#. Как исправить ошибку NullReferenceException? [дубликат]

C#. Как исправить ошибку NullReferenceException? [дубликат]

На данный вопрос уже ответили:

70