Ich habe versucht, das Springen in Small Basic zu simulieren, was ich ursprünglich zwar einfach hatte, aber schwieriger ist, als ich erwartet hatte. Immer wenn ich versuche, Animationen in einer for-Schleife zu verwenden, scheint das Programm immer die Verzögerung zu setzen, die ich am Anfang zugewiesen habe, gefolgt von einer einzelnen Animation/Bewegung. Zum Beispiel:Wie man Animationen in Small Basic stapelt
GraphicsWindow.Height = 480
GraphicsWindow.Width = 640
pX = 300
pY = 220
GraphicsWindow.KeyDown = KeyPressed
player = Shapes.AddEllipse(40, 40)
Shapes.Move(player, 300, 220)
Sub KeyPressed
If GraphicsWindow.LastKey = "Space" Then
For i = 1 To 10
pY = pY - (10 - i)
Shapes.Move(player, pX, pY)
Program.Delay(100)
EndFor
EndIf
EndSub
ich dieses Programm erwartet die Kreise warum Position mit einer abnehmenden Rate zu erhöhen, sondern wartet es 1 Sekunde (die Gesamtzahl der Millisekunden in der Schleife) und bewegt dann den ganzen Weg nach oben an Einmal. Wie kann ich erreichen, was ich will und das beheben?
Der Grund liegt daran, dass es für den ganzen Unter wartet dann auszuführen, sie es aktualisiert. Was Sie wollen, ist das Sub, um eine einzelne Anweisung zu haben und die Mathematik in einer for-Schleife, die das Unterprogramm aufruft. – Matthew