Exemplo n.º 1
0
    void Update()
    {
        PolarCoord.Phi += 0.007f;

        transform.localPosition = PolarCoord.ToCartesian().ToVector3();
        // nataceni spritu
        transform.rotation = Quaternion.EulerRotation(0, 0, PolarCoord.Phi - Mathf.PI / 2);
    }
Exemplo n.º 2
0
    private void Update()
    {
        transform.position = PolarStromu.ToCartesian().ToVector3();

        if (_poctoscript && _poctoscript.Kapacita > 0)
        {
            _animator.enabled      = true;
            _spriteRenderer.sprite = _defaultniStrom;
        }
        else
        {
            ZrusNapovedu();
            _animator.enabled      = false;
            _spriteRenderer.sprite = Resources.Load <Sprite>("Sprity/suchy parez");

            // TODO: FUJ! Oprava pro moc velkou planetu
            if (SceneManager.GetActiveScene().name == "planet3")
            {
                PolarStromu.R = 1.22f;
            }
        }
    }
Exemplo n.º 3
0
    void Update()
    {
        // pro dvoj hopik
        _isGrounded = PolarCoord.R > Radius;

        // sledovani hrace
        cameraTransform.position = new Vector3(transform.position.x, transform.position.y, cameraTransform.position.z);

        // pohyb
        var movement = Input.GetAxisRaw("Horizontal");

        if (movement == 1)
        {
            _renderer.flipX = false;
            _anim.SetBool("isMoving", true);
        }
        else if (movement == -1)
        {
            _renderer.flipX = true;
            _anim.SetBool("isMoving", true);
        }
        else
        {
            _anim.SetBool("isMoving", false);
        }

        yVelocity -= 5 * Time.deltaTime;


        if (Input.GetKeyDown(KeyCode.Space) && !_isGrounded)
        {
            yVelocity = 1;
            _anim.SetTrigger("Jump");
        }

        if (Input.GetKeyDown(KeyCode.X) && _cilAkce != null && _cilAkce.GetComponent <Stromoscript>() != null)
        {
            if (_cilAkce.GetComponent <Poctoscript>().Kapacita > 0)
            {
                _anim.SetTrigger("Chop"); // na konci animace se vola Seknuto()
            }
        }

        if (Input.GetKeyDown(KeyCode.X) && _cilAkce != null && _cilAkce.GetComponent <Keroscript>() != null)
        {
            _anim.SetTrigger("Trhej"); // Na konci animace se vola Trhani()
        }

        if (Input.GetKeyDown(KeyCode.X) && _cilAkce != null && _cilAkce.GetComponent <CropController>() != null)
        {
            // TODO: Animace??
            ZasadNeboSklid();
        }

        // beh
        if (Input.GetKey(KeyCode.LeftShift))
        {
            speed = 3;
        }
        else
        {
            speed = 10;
        }

        PolarCoord.R += yVelocity * Time.deltaTime;
        if (PolarCoord.R < Radius)
        {
            yVelocity    = 0;
            PolarCoord.R = Radius;
        }

        // 0.68 je radius originalni planety, toto upravi rychlost pro jinak velke planety
        PolarCoord.Phi += -movement * (Mathf.PI / speed) * Time.deltaTime * 0.68f / Radius;
        // oprava polarnich souradnic pro chuzi po jizni polokouli
        if (PolarCoord.Phi < 0)
        {
            PolarCoord.Phi = PolarCoord.Phi + (2 * Mathf.PI);
        }
        PolarCoord.Phi = PolarCoord.Phi % (2 * Mathf.PI);

        transform.localPosition = PolarCoord.ToCartesian().ToVector3();

        // nataceni spritu
        transform.rotation = Quaternion.EulerRotation(0, 0, PolarCoord.Phi - Mathf.PI / 2);

        // shake obrazovky pri sekani stromu
        if (shake)
        {
            float shakeOffset = Random.RandomRange(0, 0.015f);
            Camera.main.transform.position = origCamera.position + new Vector3(shakeOffset, shakeOffset, shakeOffset);
        }
        else
        {
            Camera.main.transform.position = origCamera.position;
        }
    }