コード例 #1
0
    void Update()
    {
        Polygon2D cameraPolygon = Polygon2D.CreateFromCamera(Camera.main);

        cameraPolygon = cameraPolygon.ToRotation(Camera.main.transform.rotation.eulerAngles.z * Mathf.Deg2Rad);
        cameraPolygon = cameraPolygon.ToOffset(new Vector2D(Camera.main.transform.position));

        foreach (Slicer2D slicer in Slicer2D.GetListCopy())
        {
            if (Math2D.PolyCollidePoly(slicer.shape.GetLocal(), cameraPolygon) == false)
            {
                if (slicer.enabled == true)
                {
                    lives--;
                    if (lives >= 0)
                    {
                        SpriteRenderer sr = livesObjects[lives].GetComponent <SpriteRenderer>();
                        sr.color = Color.white;
                    }
                    else
                    {
                        Debug.Log("lose");
                    }
                }
                Destroy(slicer.gameObject);
            }
        }

        scoreText.text = score.ToString();
    }
コード例 #2
0
    void Update()
    {
        Polygon2D cameraPolygon = Polygon2D.CreateFromCamera(Camera.main);

        cameraPolygon = cameraPolygon.ToRotation(Camera.main.transform.rotation.eulerAngles.z * Mathf.Deg2Rad);
        cameraPolygon = cameraPolygon.ToOffset(new Vector2D(Camera.main.transform.position));

        foreach (Slicer2D slicer in Slicer2D.GetListCopy())
        {
            if (Math2D.PolyCollidePoly(slicer.shape.GetWorld(), cameraPolygon) == false)
            {
                Destroy(slicer.gameObject);
            }
        }

        UpdateCurrentArea();

        int percent = (int)((currentArea / startingArea) * 100);

        percentText.text = "Left: " + percent + "%";
    }