Beispiel #1
0
    public void goToGoal(int dir, Vector2 checkpoint, Vector2 provenance, int goMode)
    {
        float Direction = (checkpoint.y - poitsukkaPos.transform.position.y) * speed * Time.deltaTime / (1 + Mathf.Abs((checkpoint.y - provenance.y) / 10)); // ((checkpoints[destination].transform.position.x - poitsukka.transform.position.x));
        float scale     = (poitsukkaPos.transform.localPosition.y / startposY);

        //poitsukka.transform.position = Vector2.Lerp(poitsukka.transform.position, checkpoints[destination].transform.position, speed * Time.deltaTime);

        poitsukka.transform.Translate(new Vector3(0, Direction, 0));
        poitsukka.transform.localScale = new Vector3(scale, scale, scale);


        if (dir == 1)
        {
            poitsukkaScript.Flip("droite");
        }
        else
        {
            poitsukkaScript.Flip("gauche");
        }

        switch (goMode)
        {
        case 0:
            tr.Translate(dir * speed * Time.deltaTime / (1 + Mathf.Abs((checkpoint.y - provenance.y) / 10)), 0, 0);
            poitsukkaScript.Walk();
            break;

        case 1:
            tr.Translate(dir * 2 * speed * Time.deltaTime / (1 + Mathf.Abs((checkpoint.y - provenance.y) / 10)), 0, 0);
            poitsukkaScript.Run();
            break;
        }
    }