스몰 베이직에서 점프를 시뮬레이트하려 했었습니다. 원래는 단순했지만 예상했던 것보다 더 까다 롭습니다. for 루프에서 애니메이션 (또는 이동)을 사용하려고 할 때마다 프로그램은 항상 처음에 할당 된 지연을 하나의 애니메이션/이동으로 지정합니다. 나는이 프로그램이 감소하는 속도로 왜 위치에 원을 증가 기대하지만, 대신 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