// Update is called once per frame
    void Update()
    {
        gamemangerscript = GameObject.FindObjectOfType <gamemanager> ();

        // when the character is dead
        if (health <= 0)
        {
            Instantiate(bloodexplosion, new Vector2(transform.position.x + 2f, transform.position.y + 1.3f), transform.rotation);
            gamemangerscript.playerdeath = true;
            Destroy(gameObject);
            speed = 0;
        }

        groundcollisionscript = GetComponent <groundcollsion> ();

        // float h = Input.GetAxis ("Horizontal");
        body2d.velocity = new Vector2(speed, body2d.velocity.y);

        if (groundcollisionscript.grounded && Input.GetKeyDown("space"))
        {
            OnJump();
        }
    }
Esempio n. 2
0
    void Update()
    {
        groundscript = GameObject.FindObjectOfType <groundcollsion> ().GetComponent <groundcollsion> ();

        anim = GetComponent <Animator> ();


        playerscript = GameObject.FindObjectOfType <characterscript> ().GetComponent <characterscript> ();
        difference   = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
        difference.Normalize();
        float rotz = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;          // find the angles in degrees

        Debug.Log(rotz);

        rotz       = Mathf.Clamp(rotz, -90f, 90f);
        difference = new Vector2(Mathf.Clamp(difference.x, 0, 1), Mathf.Clamp(difference.y, -1, 1));


        transform.rotation = Quaternion.Euler(0f, 0f, rotz);

        /*
         * if (Input.GetKeyDown ("d")) {
         *      gunforward = true;
         *      gunfaceup = false;
         *      gunfacedown = false;
         *      gunfaceupmiddle = false;
         *      gunfacedownmiddle = false;
         * } else if (Input.GetKeyDown ("w")) {
         *      gunforward = false;
         *      gunfaceup = true;
         *      gunfacedown = false;
         *      gunfaceupmiddle = false;
         *      gunfacedownmiddle = false;
         * } else if (Input.GetKeyDown ("s")) {
         *      gunforward = false;
         *      gunfaceup = false;
         *      gunfacedown = true;
         *      gunfaceupmiddle = false;
         *      gunfacedownmiddle = false;
         * } else if (Input.GetKey ("d") && Input.GetKey("s")) {
         *      gunforward = false;
         *      gunfaceup = false;
         *      gunfacedown = false;
         *      gunfaceupmiddle = false;
         *      gunfacedownmiddle = true;
         * } else if (Input.GetKey ("d") && Input.GetKey ("w")) {
         *      gunforward = false;
         *      gunfaceup = false;
         *      gunfacedown = false;
         *      gunfaceupmiddle = true;
         *      gunfacedownmiddle = false;
         * }
         *
         *
         * if (gunfaceup == true) {
         *      difference = new Vector2 (0, 1);
         * } else if (gunforward == true) {
         *      difference = new Vector2 (1, 0);
         * } else if (gunfacedown) {
         *      difference = new Vector2 (0, -1);
         * }  else if (gunfacedownmiddle) {
         *      difference = new Vector2 (3, -1);
         * } else if (gunfaceupmiddle) {
         *      difference = new Vector2 (2, 1);
         * }
         */

        if (!playerscript.dead && automatic && Time.time > cooldowntimer)
        {
            canshoot = true;
        }
        else
        {
            canshoot = false;
        }

        if (canshoot && Input.GetMouseButton(0))
        {
            Debug.Log("shoot");

            cooldowntimer = Time.time + firedelay;
            GameObject.FindObjectOfType <camerashake> ().GetComponent <camerashake> ().Shake(0.03f, 0.05f);
            anim.SetTrigger("shoot");
            Instantiate(muzzleflash, firepoint.position, transform.rotation);
            GameObject bulletinstance;
            bulletinstance = Instantiate(bullet, firepoint.position, transform.rotation) as GameObject;
            bulletinstance.GetComponent <Rigidbody2D> ().AddForce(difference * forceshoot);

            if (rotz <= -80f && rotz >= -90f && transform.position.y <= 6f)
            {
                playerscript.GetComponent <Rigidbody2D> ().AddForce(Vector2.up * 400f);
            }

            shooting = true;
        }
        else
        {
            shooting = false;
        }
    }