◆VB初心者質問スレ Part5
■ このスレッドは過去ログ倉庫に格納されています
0061デフォルトの名無しさん
NGNG参考にならんだろうけど、こんなかんじ?(←→で回転、↑で進むかんじ)
Private Const MM = 20
Private mx&(MM), my&(MM)
Private mpx&, mpy&, mpd&, wx&, wy&, rr#
Private Sub Form_Load()
Me.AutoRedraw = True
Me.ScaleMode = vbPixels
wx = Me.ScaleWidth: wy = Me.ScaleHeight
rr = 3.14159 / 180
Dim t&: For t = 0 To MM: mx(t) = Rnd * wx: my(t) = Rnd * wy: Next
mpd = 0: mpx = wx / 2: mpy = wy / 2: draw
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyLeft Then mpd = (mpd + 10) Mod 360
If KeyCode = vbKeyRight Then mpd = (mpd + 350) Mod 360
If KeyCode = vbKeyUp Then
mpx = mpx + 10 * Cos((mpd + 90) * rr)
mpy = mpy - 10 * Sin((mpd + 90) * rr)
End If
draw
End Sub
Sub draw()
Dim t&, x&, y&
Me.Cls: Me.PSet (wx / 2, wy / 2)
For t = 0 To MM
x = (mx(t) - mpx) * Cos(mpd * rr) - (my(t) - mpy) * Sin(mpd * rr)
y = (my(t) - mpy) * Cos(mpd * rr) + (mx(t) - mpx) * Sin(mpd * rr)
Me.Line -(wx / 2 + x, wy / 2 + y)
Next: Me.Refresh
End Sub
■ このスレッドは過去ログ倉庫に格納されています