sara_noori
یک شنبه 10 دی 1391, 21:17 عصر
با سلام و خسته نباشید خدمت شما
من کد زیر را نوشتم اما کیلومتر هیچ تغییری نمی کند باید چیکار کنم؟Option Explicit
Dim i As Integer
Dim Speed
Const MaxSpeed = 200
Const ZeroAngle = 180
Const MaxAngle = -20
Const R = 80
Sub setSpeed(key As Integer)
If (key = 32 Or 38 Or 40) Then Timer2.Enabled = False Else
Timer2.Enabled = True
If (key = 32 And Speed > 0) Then Speed = Speed - 2
If (key = 38 And Speed < MaxSpeed) Then Speed = Speed + 1
If (key = 40 And Speed > 0) Then Speed = Speed - 1
lblSpeed.Caption = Speed
showSpeed
End Sub
Sub showSpeed()
Dim ds, Angle
ds = Abs(MaxAngle - ZeroAngle) / MaxSpeed * Speed
ds = ZeroAngle + ds
Angle = ds * 3.14159 / 180
With shpSpeed
.X2 = .X1 + R * Cos(Angle)
.Y2 = .Y1 + R * Sin(Angle)
End With
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Call setSpeed(KeyCode)
End Sub
Private Sub Form_Load()
Speed = 0
setSpeed (0)
End Sub
Private Sub Timer2_Timer()
If Speed > 0 Then
Speed = Speed - 1
lblSpeed.Caption = Speed
showSpeed
End If
End Sub
من کد زیر را نوشتم اما کیلومتر هیچ تغییری نمی کند باید چیکار کنم؟Option Explicit
Dim i As Integer
Dim Speed
Const MaxSpeed = 200
Const ZeroAngle = 180
Const MaxAngle = -20
Const R = 80
Sub setSpeed(key As Integer)
If (key = 32 Or 38 Or 40) Then Timer2.Enabled = False Else
Timer2.Enabled = True
If (key = 32 And Speed > 0) Then Speed = Speed - 2
If (key = 38 And Speed < MaxSpeed) Then Speed = Speed + 1
If (key = 40 And Speed > 0) Then Speed = Speed - 1
lblSpeed.Caption = Speed
showSpeed
End Sub
Sub showSpeed()
Dim ds, Angle
ds = Abs(MaxAngle - ZeroAngle) / MaxSpeed * Speed
ds = ZeroAngle + ds
Angle = ds * 3.14159 / 180
With shpSpeed
.X2 = .X1 + R * Cos(Angle)
.Y2 = .Y1 + R * Sin(Angle)
End With
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Call setSpeed(KeyCode)
End Sub
Private Sub Form_Load()
Speed = 0
setSpeed (0)
End Sub
Private Sub Timer2_Timer()
If Speed > 0 Then
Speed = Speed - 1
lblSpeed.Caption = Speed
showSpeed
End If
End Sub