Hier ist der vollständige Code:Wie kann ich Formen ohne Jitter unabhängig voneinander bewegen?
GraphicsWindow.Clear()
GraphicsWindow.CanResize = "false"
GraphicsWindow.Height = Desktop.Height-200
GraphicsWindow.Width = Desktop.Width-200
scount = Math.GetRandomNumber(25)
For s = 1 To scount
Shx[s] = Math.GetRandomNumber(GraphicsWindow.Width-100)
Shy[s] = Math.GetRandomNumber(GraphicsWindow.Height-100)
shsize[s] = Math.GetRandomNumber(50)
Sh[s] = Shapes.AddEllipse(shsize[s],shsize[s])
Shapes.Move(Sh[s],Shx[s],Shy[s])
EndFor
loop:
For s = 1 to scount
op[s] = Math.GetRandomNumber(2)
If op[s] = 1 Then
vel[s] = .5
EndIf
If op[s] = 2 Then
vel[s] = -.5
EndIf
Shx[s] = Shx[s] + vel[s]
Shy[s] = Shy[s] + vel[s]
Shapes.Move(Sh[s],Shx[s],Shy[s])
EndFor
Goto loop
Meine Vermutung ist, das Problem hier ist:
op[s] = Math.GetRandomNumber(2)
If op[s] = 1 Then
vel[s] = .5
EndIf
If op[s] = 2 Then
vel[s] = -.5
EndIf
Was tun in unabhängigen Richtungen ich tun müssen, um die Formen zu machen bewegen, ohne sie jittering?
wenn Sie möchten, Um die Geschwindigkeit unabhängig von Bildern pro Sekunde gleich zu halten, müssen Sie nur die Geschwindigkeit basierend auf den Bildern pro Sekunde bearbeiten. Nehmen wir an, Sie möchten immer 5 Pixel Bewegung pro Sekunde haben, unabhängig von Frames, Sie machen 5/Frames und das ist die Anzahl der pro Sekunde bewegten Pixel. Wenn Sie also 10 Bilder pro Sekunde haben, werden Sie 0,5 Pixel pro Bild bewegen und zu 5 Pixeln in dieser gesamten Sekunde hinzufügen. :-D hoffe das hilft. – Matthew