예제 #1
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.collider.tag == "Wall" || (collision.collider.tag == "Enemy" && !ricocheted))
     {
         ricochet.NewMove(ricochet.Speed, Vector3.Reflect(ricochet.Trajectory, new Vector2(collision.contacts[0].normal.x, collision.contacts[0].normal.z)));
         ricocheted = true;
     }
     else if (collision.collider.tag == "Enemy" && ricocheted)
     {
         Destroy(collision.collider.gameObject);
         Destroy(gameObject);
     }
 }
예제 #2
0
    void Update()
    {
        if (Input.GetAxisRaw("Fire1") > 0 && Time.fixedTime > lastShot + gunTimer)
        {
            Vector2 mousePos = Input.mousePosition;
            mousePos.x -= Screen.width / 2;
            mousePos.y -= Screen.height / 2;

            Vector3 position = new Vector3(transform.position.x + mousePos.normalized.x, transform.position.y, transform.position.z + mousePos.normalized.y);
            bullet = Instantiate(bulletPrefab, position, Quaternion.identity);
            shot   = bullet.GetComponent <MoveBullet>();

            lastShot = Time.time;
            shot.NewMove(bulletSpeed, mousePos);
        }
    }