スモールベーシックでジャンプをシミュレートしようとしていましたが、これはもともとシンプルではありましたが、予想以上にトリッキーです。 forループでアニメーション(または移動)を使用しようとするたびに、プログラムは常に、開始時に割り当てられた遅延を1つのアニメーション/移動に続けます。私はこのプログラムは低下率で、なぜ位置の円を増加させるために期待されるが、代わりにそれは1秒(ループ内ミリ秒の合計数)を待ち、その後で全道を移動スモールベーシックでアニメーションを積み重ねる方法
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
:例えば一度。どのように私が欲しいものを達成し、これを修正することができますか?
理由がある:ここ
はメインスレッドに入れ移動を使用してコードのバージョンです。あなたが望むのは、サブルーチンが単一のステートメントを持ち、そのサブルーチンを呼び出すforループ内に数学を持つことです。 – Matthew