示例#1
0
 void Start()
 {
     thisTransform   = this.transform;
     _myRenderer     = GetComponent <Renderer>();
     _bobbingScript  = GetComponent <BobbingAnimationScript>();
     _animator       = GetComponent <Animator>();
     _gameController = _gameObj.GetComponent <GameStartScript>();
     _audioSource    = GetComponent <AudioSource>();
     gold            = 0;
 }
示例#2
0
    void OnCollisionEnter2D(Collision2D c)
    {
        // Hit the Racket?
        if (c.gameObject.tag == "Player")
        {
            // Calculate hit Factor
            float x = hitFactor(transform.position,
                                c.transform.position,
                                c.collider.bounds.size.x);

            // Calculate direction, set length to 1
            Vector2 dir = new Vector2(x, 1).normalized;

            // Set Velocity with dir * speed
            GetComponent <Rigidbody2D>().velocity = dir * ballSpeed;
        }
        else if (c.gameObject.tag == "block")
        {
            GameStartScript.score++;
            //TODO: update canvas
        }
        else if (c.gameObject.tag == "floor")
        {
            GameStartScript.life--;
            if (GameStartScript.life > 0)
            {
                c.gameObject.GetComponent <AudioSource>().Play();
                Transform ballTransform = GetComponent <Transform>();
                ballSpeed = 0.0f;
                GetComponent <Rigidbody2D>().velocity = Vector2.zero;
                Text touchMessage = GameObject.Find("TouchMessage").GetComponent <Text>();
                touchMessage.color     = new Color(touchMessage.color.r, touchMessage.color.g, touchMessage.color.b, 255);
                ballTransform.position = new Vector3(0.0f, -4.0f);
            }
            else
            {
                // todo: fade effect
                SceneManager.LoadScene("EndGame");
            }
        }
        GameStartScript.UpdateCanvas();
        GetComponent <AudioSource>().Play();
    }