コード例 #1
0
    private void MoveCrab()
    {
        float movement = _movementDirection * Time.deltaTime;

        transform.position += new Vector3(movement, 0, 0);

        if ((Input.GetKeyDown(KeyCode.Space) || Input.GetButton("Jump")) && _crabJumpStatus == CrabJumpStatus.Floor)
        {
            _rigidbody.velocity += new Vector3(0, _jumpForce, 0);
            _crabJumpStatus      = CrabJumpStatus.Jump;
        }
    }
コード例 #2
0
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "Wall")
        {
            _movementDirection = -_movementDirection;

            if (_crabJumpStatus == CrabJumpStatus.Jump)
            {
                _rigidbody.velocity += new Vector3(0, _jumpForce, 0);
            }
        }

        if (collision.gameObject.tag == "Floor")
        {
            _crabJumpStatus = CrabJumpStatus.Floor;
        }

        if (collision.gameObject.tag == "Goal")
        {
            DetermineIfGoalReached(collision.gameObject);
        }
    }