Beispiel #1
0
    void CreateBackgroundCubes(int cnt, int disabledCount)
    {
        if (prefabBackCube == null)
        {
            return;
        }

        for (int i = 0; i < cnt; ++i)
        {
            GameObject obj  = Instantiate(prefabBackCube, new Vector3(0, 0, 0), Quaternion.identity);
            BackCube   cube = obj.GetComponent <BackCube>();
            cube.mBackground = this;
            UpdateRandomCubePos(cube, mOldRect);
            mBackCubes.Add(cube);
        }

        for (int i = 0; i < disabledCount; ++i)
        {
            GameObject obj  = Instantiate(prefabBackCube, new Vector3(0, 0, 0), Quaternion.identity);
            BackCube   cube = obj.GetComponent <BackCube>();
            UpdateRandomCubePos(cube, mOldRect);
            cube.gameObject.SetActive(false);
            mBackCubes.Add(cube);
        }
    }
Beispiel #2
0
    void UpdateRandomCubePos(BackCube cube, Rect range)
    {
        Vector3 axis = new Vector3();

        axis.x = Random.Range(-1, 1);
        axis.y = Random.Range(-1, 1);
        axis.z = Random.Range(-1, 1);
        axis.Normalize();
        float angle = Random.Range(0, 360);

        cube.transform.rotation = Quaternion.AngleAxis(angle, axis);

        Vector3 pos = GetRandomPos(range);

        cube.SetPosition(MainCube, pos);
    }