Компьютерная графика, мультимедиа и игры на Visual C#


         

объектами при помощи нажатия клавиш,


        Designing(DirectCast(PictureBox1.Image, Bitmap))
    End Sub
Чтобы мы могли управлять (например, вращать) объектами при помощи нажатия клавиш, в окне Class Name выбираем (Overrides), а в окне Method Name выбираем ProcessCmdKey. Появляется файл Form1.vb с шаблоном (метода ProcessCmdKey), который после записи нашего кода принимает следующий вид. Отметим, что если в версии VS, которая имеется у читателя, отсутствует метод ProcessCmdKey, то необходимо полностью записать нижеследующий метод вместе с шаблоном (или скопировать весь метод из прилагаемого к книге диска).
Листинг 34.2. Метод ProcessCmdKey.
    Protected Overrides Function ProcessCmdKey( _
    ByRef msg As System.Windows.Forms.Message, _
    ByVal keyData As System.Windows.Forms.Keys) As Boolean
        'Задаем угол поворота фигуры после нажатия клавиши:
        Const delta_theta As Single = pi / 20
        Select Case keyData
            Case System.Windows.Forms.Keys.Left
                theta_Eye = theta_Eye - delta_theta
            Case System.Windows.Forms.Keys.Right
                theta_Eye = theta_Eye + delta_theta
            Case System.Windows.Forms.Keys.Up
                phi_Eye = phi_Eye - delta_theta
            Case System.Windows.Forms.Keys.Down
                phi_Eye = phi_Eye + delta_theta
            Case Else
                Return MyBase.ProcessCmdKey(msg, keyData)
        End Select
        Projection(MatrixProjection, PerspectiveProjection, _
        r_Eye, phi_Eye, theta_Eye, _
        x_focus, y_focus, z_focus, 0, 1, 0)
        'В элементе PictureBox1 перерисовываем объект:
        Designing(DirectCast(PictureBox1.Image, Bitmap))
        PictureBox1.Refresh()
        Return True
    End Function
Ниже этого кода записываем следующие все процедуры и функции.
Листинг 34.3. Процедуры и функции.
    'Проектируем и при помощи процедуры DrawSolid
    'рисуем выбранное флажком CheckBox геометрическое тело:
    Private Sub Designing(ByVal bmp As Bitmap)

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий