ورود

View Full Version : سوال: کمک در نوشتن کد کیلومتر



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

SlowCode
دوشنبه 11 دی 1391, 07:48 صبح
سلام
مشکل تو خط 10 و 11 هست، یه این صورت اصلاح کنید:
If (key = 32 Or 38 Or 40) Then Timer2.Enabled = False Else Timer2.Enabled = True

البته الان عقربه خیلی کوچیکه، اگه میخوایین بهتر بشه خطوط زیر رو جایگزین سطر 25 و 26 کنین:
.X2 = R * Cos(Angle) * 100
.Y2 = R * Sin(Angle) * 100