示例#1
0
        void SpawnTexts()
        {
            Material textMaterial = null;

            // Spawn 50 objects
            for (int k = 0; k < 50; k++)
            {
                int tileIndex = Random.Range(0, hexa.tiles.Length);

                GameObject obj = new GameObject(tileIndex.ToString());

                // Text
                TextMesh tm = obj.AddComponent <TextMesh> ();
                tm.text      = obj.name;
                tm.alignment = TextAlignment.Center;
                tm.anchor    = TextAnchor.MiddleCenter;
                tm.fontSize  = 60;                      // make font big so we reduce it with a small scale. It looks better.

                // Changes the material and shader of the text mesh
                Renderer renderer = obj.GetComponent <Renderer> ();
                if (textMaterial == null)
                {
                    textMaterial        = renderer.material;              // retrieves an instanced copy of the current material so we can modify it freely
                    textMaterial.shader = Shader.Find("Hexasphere/Text");
                    textMaterial.color  = Color.red;
                }
                renderer.sharedMaterial = textMaterial;

                float scaleFactor = 0.6f;
                hexa.ParentAndAlignToTile(obj, tileIndex, 0, false, true, scaleFactor);
            }
        }