Esempio n. 1
0
        // Параметризованный конструктор класса
        public Car(Device device)
        {
            // Создать и загрузить Mesh-объект "Автомобиль",
            // используя ранее разработанный метод класса DodgerGame
            carMesh = DodgerGame.LoadMesh(device, @".\car.x",
                                          ref carMaterials, ref carTextures);

            // Мы должны вычислить сферу ограничения для нашего автомобиля
            VertexBuffer vb = carMesh.VertexBuffer;

            try
            {
                // Замкнуть вершинный буфер перед вычислением
                GraphicsStream stm = vb.Lock(0, 0, LockFlags.None);
                Vector3        center; // Мы не будем использовать центр,
                //но ссылка на него требуется
                float radius = Geometry.ComputeBoundingSphere(stm,
                                                              carMesh.NumberVertices, carMesh.VertexFormat, out center);

                // Вычислим диаметр автомобиля
                carDiameter = (radius * 2) * SCALE;
            }
            finally
            {
                // Независимо от результата попытки
                // отмыкаем и устанавливаем вершинный буфер
                vb.Unlock();
                vb.Dispose();
            }
        }
Esempio n. 2
0
        static void Main()
        {
            using (DodgerGame frm = new DodgerGame())
            {
                frm.InitializeGraphics();
                System.Windows.Forms.Application.Run(frm);

                // Запись результатов в системный реестр
                frm.SaveHighScores();
            }
        }