Freitag, 1. Juli 2011

Visual Basic 2010 Excel VBA Würfel Animation programmieren SelMcKenzie Selzer-McKenzie

Visual Basic 2010 Excel VBA  Würfel Animation programmieren SelMcKenzie Selzer-McKenzie

Author D.Selzer-McKenzie
Heute zeige ich Ihnen an einem Beispiel, wie man z.B. für die Spieleprogrammierung einen animierten Würfel programmiert. Natürlich ist das genausogut auch für andere Dinge, wie Bilder usw. möglich. Das geht in Visual Basic aber auch in Excel VBA.
Ich habe den Code bereits geschrieben und der ist gut lesbar, und Sie wollen ggf. das Video anhalten, um den Code abschreiben zu können.
Und Sie sehen, der Würfel funktioniert bestens.
Selzer-McKenzie

Der Code lautet:
Public Class Form1
    Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "

    Public Sub New()
        MyBase.New()

        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
        InitializeComponent()

        ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen

    End Sub

    ' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    ' Für Windows Form-Designer erforderlich
    Private components As System.ComponentModel.IContainer

    'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich
    'Sie kann mit dem Windows Form-Designer modifiziert werden.
    'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
    Private Sub InitializeComponent()
        Me.SuspendLayout()
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(384, 237)
        Me.Name = "Form1"
        Me.Text = "Würfel programmieren by SelMcKenzie®"
        Me.ResumeLayout(False)

    End Sub

#End Region
    Private Sub ZeichneWürfel(ByVal x0 As Integer, ByVal y0 As Integer)
        Dim Zufallszahl As New System.Random()
        Dim DieZufallszahl As Integer = Zufallszahl.Next(1, 7)

        Dim Zeichnen As Graphics = Me.CreateGraphics()
        Dim Füllung As Brush = New SolidBrush(Color.Yellow)
        Zeichnen.FillRectangle(New SolidBrush(Color.Red), x0, y0, 100, 100)
        If (DieZufallszahl = 1) Or (DieZufallszahl = 3) Or (DieZufallszahl = 5) Then
            Zeichnen.FillEllipse(Füllung, x0 + 40, y0 + 40, 15, 15)
        End If
        If DieZufallszahl > 1 Then
            Zeichnen.FillEllipse(Füllung, x0 + 20, y0 + 20, 15, 15)
            Zeichnen.FillEllipse(Füllung, x0 + 60, y0 + 60, 15, 15)
        End If
        If DieZufallszahl > 3 Then
            Zeichnen.FillEllipse(Füllung, x0 + 60, y0 + 20, 15, 15)
            Zeichnen.FillEllipse(Füllung, x0 + 20, y0 + 60, 15, 15)
        End If
        If DieZufallszahl = 6 Then
            Zeichnen.FillEllipse(Füllung, x0 + 40, y0 + 20, 15, 15)
            Zeichnen.FillEllipse(Füllung, x0 + 40, y0 + 60, 15, 15)
        End If
    End Sub
    ' clicken Würfel starten
    Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
        Dim x0 As Integer = 150, y0 As Integer = 50
        If New Rectangle(x0, y0, 100, 100).Contains(e.X, e.Y) Then ZeichneWürfel(x0, y0)
    End Sub
    ' Überschreiben von OnPaint:
    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        ZeichneWürfel(150, 50)
    End Sub
End Class

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.