Beispiel #1
0
 public Vector2 getPosition()
 {
     return(start.getPosition());
 }
Beispiel #2
0
    void Update()
    {
        if (!nextSet && (player.freeToAct || isMoving))
        {
            if (Input.GetKeyDown(KeyCode.D))
            {
                nextSet  = true;
                nextMove = Vector2.right;
                sr.flipX = false;
            }
            else if (Input.GetKeyDown(KeyCode.A))
            {
                nextSet  = true;
                nextMove = Vector2.left;
                sr.flipX = true;
            }
            else if (Input.GetKeyDown(KeyCode.W))
            {
                nextSet  = true;
                nextMove = Vector2.up;
                sr.flipX = false;
            }
            else if (Input.GetKeyDown(KeyCode.S))
            {
                nextSet  = true;
                nextMove = Vector2.down;
                sr.flipX = false;
            }
        }
        if (!isMoving && player.freeToAct && nextSet)
        {
            if (setMove(nextMove))
            {
                player.freeToAct = false;
                anim.SetBool("isOnLadder", isOnLadder);
                anim.ResetTrigger("move");
                anim.SetTrigger("move");
            }
            nextSet = false;
        }

        if (isMoving)
        {
            t += Time.deltaTime;

            if (t >= moveTime)
            {
                isMoving = false;
                tilePos.setTransform(tilePos.getPosition());
                player.freeToAct = true;
                return;
            }
            else if (t >= moveTime * .6f)
            {
                player.freeToAct = true;
            }

            float moveDist = movementCurve.Evaluate(t / moveTime);

            tilePos.setTransform(lastPos + moveDir * moveDist);
        }
    }