私は Small Basic でジャンプをシミュレートしようとしてきました。最初は簡単だと思っていたのですが、思ったよりもトリッキーです。for ループでアニメーション (または移動) を使用しようとすると、プログラムは常に開始時に割り当てた遅延を配置し、その後に単一のアニメーション/移動を実行するように見えます。例えば:
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
このプログラムは円の位置を減少率で増加させると予想しますが、代わりに 1 秒 (ループ内の合計ミリ秒数) 待機してから、一度に全体を上に移動します。どうすれば私が望むものを達成し、これを修正できますか?