示例#1
0
 // Update is called once per frame
 void Update()
 {
     elapsedSeconds += Time.deltaTime;
     if (elapsedSeconds >= 1)
     {
         score         += 1;
         elapsedSeconds = 0;
         scoreText.text = "Score : " + score;
     }
     if (score % 20 == 0)
     {
         spawner.SpawnRock(ship.transform.position);
     }
 }
示例#2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.tag == "Bullet")
        {
            Destroy(collision.gameObject);
            if (lives > 0)
            {
                GameObject asteroid1      = Instantiate <GameObject>(nextAsteroid, transform.position, Quaternion.identity);
                float      angle1         = Random.Range(0, 2 * Mathf.PI);
                Vector2    moveDirection1 = new Vector2(
                    Mathf.Cos(angle1), Mathf.Sin(angle1));
                float magnitude1 = Random.Range(MinImpulseForce, MaxImpulseForce);
                asteroid1.GetComponent <Rigidbody2D>().AddForce(
                    moveDirection1 * magnitude1,
                    ForceMode2D.Impulse);
                asteroid1.GetComponent <SpriteRenderer>().sprite = SpriteRenderer.sprite;

                GameObject asteroid2      = Instantiate <GameObject>(nextAsteroid, transform.position, Quaternion.identity);
                float      angle2         = Random.Range(0, 2 * Mathf.PI);
                Vector2    moveDirection2 = new Vector2(
                    Mathf.Cos(angle2), Mathf.Sin(angle2));
                float magnitude2 = Random.Range(MinImpulseForce, MaxImpulseForce);
                asteroid2.GetComponent <Rigidbody2D>().AddForce(
                    moveDirection2 * magnitude2,
                    ForceMode2D.Impulse);
                asteroid2.GetComponent <SpriteRenderer>().sprite = SpriteRenderer.sprite;
            }
            else
            {
                spawner.RemoveRock();
                spawner.SpawnRock(ship.transform.position);
            }
            hud.GetComponent <HUD>().Score += lives * 2 + 1;
            Destroy(gameObject);
        }
    }