はここで完全なコードです:ジッタなしでシェイプを個別に移動させるにはどうすればよいですか?
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
私の推測では、問題であるが、ここで:
op[s] = Math.GetRandomNumber(2)
If op[s] = 1 Then
vel[s] = .5
EndIf
If op[s] = 2 Then
vel[s] = -.5
EndIf
私は形状がジッタそれらなしで独立した方向に移動させるために行うには何が必要ですか?
を行う必要はありませんそのように、私はあなたが何をすべきか、より良いと思う作品毎秒のフレームにかかわらずベロシティを同じに保つには、毎秒のフレームに基づいてベロシティを編集するだけです。したがって、フレームにかかわらず毎秒5ピクセルの動きが常に必要であると言うと、5 /フレームとそれは1秒あたりに移動するピクセルの量です。したがって、1秒間に10フレームの場合は、フレームごとに0.5ピクセルを移動し、合計秒間に5ピクセルを加算します。 :-Dこれが役立つことを願っています。 – Matthew