Esempio n. 1
0
    //Every frame update asteroid position, float in space
    void Update()
    {
        float posX = transform.position.x;
        float posY = transform.position.y;
        float posZ = transform.position.z;

        transform.position += transform.up * asteroidSpeed * Time.deltaTime;
        asteroidOOB.checkIfOOB(posX, posY, posZ);
    }
    //Every time frame, without delays update player the player position
    void FixedUpdate()
    {
        float posX = transform.position.x;
        float posY = transform.position.y;
        float posZ = transform.position.z;

        //Controls
        if (Input.GetKey(KeyCode.UpArrow))
        {
            rb2D.velocity        = Vector3.zero;
            rb2D.angularVelocity = 0.0f;
            transform.position  += transform.up * speedMove * Time.deltaTime;
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            transform.Rotate(transform.forward * speedRotate);
        }
        if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.Rotate(transform.forward * (-1 * speedRotate));
        }
        if (Input.GetKey(KeyCode.DownArrow))
        {
            rb2D.velocity        = Vector3.zero;
            rb2D.angularVelocity = 0.0f;
            transform.position  -= transform.up * speedMove / 4 * Time.deltaTime;
        }
        if (Input.GetKey(KeyCode.S) && Time.time > timeSinceShot)
        {
            this.GetComponent <BoxCollider2D>().enabled = true;
            this.GetComponent <SpriteRenderer>().color  = Color.white;
            timeSinceShot = Time.time + fireRate;
            Fire();
        }
        if (hoverSpeed >= 0.1f)
        {
            hoverSpeed = 0.1f;
        }
        if (Input.GetKeyUp(KeyCode.UpArrow))
        {
            rb2D.AddForce(transform.up, ForceMode2D.Impulse);
        }
        //We always float back because space
        transform.position -= transform.up * hoverSpeed * Time.deltaTime;
        //Preverim ali je igralec zapustil območje kamere
        PlayerOOB.checkIfOOB(posX, posY, posZ);
    }