Включить черту символа, если нажата кнопка - PullRequest
0 голосов
/ 02 сентября 2018

В настоящее время я пытаюсь сделать мобильную игру, в которой мой персонаж может разбиться. Все движения моего персонажа управляются с помощью кнопок пользовательского интерфейса. У меня есть кнопка «Влево» и «Кнопка вправо» с функциями направления. Вот моя проблема, как я могу сделать движение тире, похожее на движение рывка Полого Рыцаря. Я хочу, чтобы мой персонаж вырвался, если я нажму кнопку «тире». Вот код движения моего персонажа:

Rigidbody2D rb;
float playerspeed;
float movespeed;
float movespeedX;

private void Start()
{
   rb = GetComponent <Rigidbody2D> ();
}
private void FixedUpdate()
{
   Moveplayer(movespeed);
}

public void Moveplayer(float playerspeed)
{
    myrb.velocity = new Vector2( movespeed, myrb.velocity.y);
    if (playerspeed < 0 ||  playerspeed > 0 )
    {
        myanim.SetInteger ("State", 2);
    }
}
public void Left()
{      
    movespeed = -movespeedX;
}
public void right()
{   
    movespeed = movespeedX;
}
public void StopMoving()
{
    movespeed = 0;
}
public void Dash()
{
   //execute dash when UI button is pressed
}

Спасибо! * * 1004

1 Ответ

0 голосов
/ 03 сентября 2018

Вам нужно создать движение независимо от других сил, вот пример.

private bool enableMovement   = false; 
private float dashingTime     = 1f;
private float dashingStrength = 2f;

private void FixedUpdate()
{
    if (enableMovement)
       Moveplayer(movespeed);
}
public Dash()
{
    enableMovement = false;
    StartCoroutine(Dashing());
}
private IEnumerator Dashing()
{
    myrb.velocity = new Vector2(movespeed * dashingStrength, myrb.velocity.y);

    yield return new WaitForSeconds(dashingTime);
    enableMovement = true;
}

Это простой и простой способ добиться этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...