Beispiel #1
0
        public void DisplayLevel(int level)
        {
            int     characterStart   = 30;
            int     characterSpacing = 15;
            Vector3 displayPosition  =
                new Vector3((float)this.Width / 2 - characterStart, (float)this.Height / 2, 0f);
            int         digit;
            NixieSprite nixie = new NixieSprite(nixiesTileSet);

            //Render the level indicator
            device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0);
            device.BeginScene();
            using (D3D.Sprite d3dSprite = new D3D.Sprite(device)) {
                d3dSprite.Begin(D3D.SpriteFlags.AlphaBlend);

                //Show the letter L
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.L, displayPosition);

                //Show the letter E
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.E, displayPosition);

                //Show the letter V
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.V, displayPosition);

                //Show the letter E
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.E, displayPosition);

                //Show the letter L
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.L, displayPosition);

                displayPosition.X = (float)this.Width / 2 + 40;
                for (int digitCount = 1; digitCount <= maxLevelDigits; digitCount++)
                {
                    digit  = level % 10;
                    level /= 10;
                    nixie.Draw(d3dSprite, (NixieSprite.NixieCharacters)digit, displayPosition);
                    displayPosition.X -= characterSpacing;
                }
                d3dSprite.End();
            }
            device.EndScene();
            device.Present();
            Thread.Sleep(3000); //wait for 3 seconds
        }
        public void DisplayLevel(int level)
        {
            int characterStart = 30;
            int characterSpacing = 15;
            Vector3 displayPosition =
                new Vector3((float)this.Width/2 - characterStart, (float)this.Height/2, 0f);
            int digit;
            NixieSprite nixie = new NixieSprite(nixiesTileSet);

            //Render the level indicator
            device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0);
            device.BeginScene();
            using (D3D.Sprite d3dSprite = new D3D.Sprite(device)) {
                d3dSprite.Begin(D3D.SpriteFlags.AlphaBlend);

                //Show the letter L
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.L, displayPosition);

                //Show the letter E
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.E, displayPosition);

                //Show the letter V
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.V, displayPosition);

                //Show the letter E
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.E, displayPosition);

                //Show the letter L
                displayPosition.X -= characterSpacing;
                nixie.Draw(d3dSprite, NixieSprite.NixieCharacters.L, displayPosition);

                displayPosition.X = (float)this.Width/2 + 40;
                for (int digitCount = 1; digitCount <= maxLevelDigits; digitCount++) {
                    digit = level % 10;
                    level /= 10;
                    nixie.Draw(d3dSprite, (NixieSprite.NixieCharacters)digit, displayPosition);
                    displayPosition.X -= characterSpacing;
                }
                d3dSprite.End();
            }
            device.EndScene();
            device.Present();
            Thread.Sleep(3000); //wait for 3 seconds
        }