Hallo liebes Forum,
mein Problem ist im Moment, dass wenn ich dem Stack ein Rectangle zufügen, oder schon bevor ich dieses tue,
die Position des Ellipses ca. 4000 auf der X-Achse liegt.
Diesen Code verwende ich,
Mit einem Rectangle funktioniert es.
Nur will ich 301-Rectangles gleichzeitig animieren.
EDIT:
Nun funktioniert es, nur mit einem.
Ich hab die Doublewerte als Array definiert.
Und jeden Click +1 Array.
Nur animiert er trotzdem nur Einen .- ...
Hoffe auf Antworten.
Mfg.eniking1998
mein Problem ist im Moment, dass wenn ich dem Stack ein Rectangle zufügen, oder schon bevor ich dieses tue,
die Position des Ellipses ca. 4000 auf der X-Achse liegt.
Diesen Code verwende ich,
VB.NET-Quellcode
- Public Class Form1
- Dim Ellipse(300) As Rectangle
- Dim PosX(300) As Double
- Dim PosY(300) As Double
- Dim Loop_ As Boolean = True
- Dim Collision1 As Boolean
- Dim Collision2 As Boolean
- Dim Collision3 As Boolean
- Dim Collision4 As Boolean
- '---Multi_Pi's---
- Dim Stack_Ellipse As New Stack(Of Rectangle)
- Dim Arr As Integer = -1
- Private Sub Loop_Sub()
- Do While Loop_ = True
- Application.DoEvents()
- Collision()
- Loop
- End Sub
- Private Sub Collision()
- For i = 0 To 300
- If PosX(i) > 411 Then
- Collision1 = True
- ElseIf PosY(i) < 0 Then
- Collision1 = False
- Collision2 = True
- ElseIf PosX(i) < 0 Then
- Collision1 = False
- Collision2 = False
- Collision3 = True
- ElseIf PosY(i) > 240 Then
- Collision1 = False
- Collision2 = False
- Collision3 = False
- Collision4 = True
- End If
- If Collision1 = True Then
- PosX(i) -= 0.25
- PosY(i) -= 0.25
- ElseIf Collision2 = True Then
- PosX(i) -= 0.25
- PosY(i) += 0.25
- ElseIf Collision3 = True Then
- PosX(i) += 0.25
- PosY(i) += 0.25
- ElseIf Collision4 = True Then
- PosX(i) += 0.25
- PosY(i) -= 0.25
- Else
- PosX(i) += 0.25
- PosY(i) = 200
- End If
- Next
- Me.Invalidate()
- End Sub
- Private Sub Form1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
- If Arr = 300 Then
- Else
- Arr += 1
- Stack_Ellipse.Push(Ellipse(Arr))
- End If
- End Sub
- Private Sub Form1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
- DoubleBuffered = True
- For Each Rec As Rectangle In Stack_Ellipse
- Rec = New Rectangle(CInt(PosX(Arr)), CInt(PosY(Arr)), 30, 30)
- e.Graphics.FillEllipse(Brushes.Green, Rec)
- Next
- End Sub
- Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- Me.Focus()
- Me.Show()
- Loop_Sub()
- End Sub
- End Class
Mit einem Rectangle funktioniert es.
Nur will ich 301-Rectangles gleichzeitig animieren.
EDIT:
Nun funktioniert es, nur mit einem.
Ich hab die Doublewerte als Array definiert.
Und jeden Click +1 Array.
Nur animiert er trotzdem nur Einen .- ...
Hoffe auf Antworten.
Mfg.eniking1998
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „enIking1998“ ()