سلام خدمت همگي:31:
يه سوال تو وي بي داشتم vb6
چطور ميشه تو فرمي به شكل زير عمل كرد
يعني يه شي به زمينه فرم برخورد كنه دوباره بلند شه و بعد دوباره به فرم بخوره و بعد دوباره ....
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام خدمت همگي:31:
يه سوال تو وي بي داشتم vb6
چطور ميشه تو فرمي به شكل زير عمل كرد
يعني يه شي به زمينه فرم برخورد كنه دوباره بلند شه و بعد دوباره به فرم بخوره و بعد دوباره ....
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
این باید کمکتون کنه:
مواد لازم: یه تایمر و یه Shape
اسم تایمر و شیپ پیش فرض باشن
کد:
Public xadd As Integer
Public yadd As Integer
Public xball As Integer
Public yball As Integer
Dim a As Integer
Dim b As Integer
Private Sub Form_Load()
xball = Shape1.Width
yball = Shape1.Height
xadd = 50
yadd = 50
Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
xball = xball + xadd
yball = yball + yadd
Shape1.Move xball, yball
If xball > Form1.Width - Shape1.Width Or xball < 0 Then
xadd = -xadd
End If
If yball > Form1.Height - Shape1.Height Or yball < 0 Then
yadd = -yadd
End If
End Sub
modirmsool جان... ، دستت درد نکنه...!
ولی می تونستی به جای این که اون متغییر ها رو اونجوری تعریف کنی... ، همه رو از نوع Static می کردی... ، اینجوری با پایان یافتن زیربرنامه ها مقدار خودشون رو حفظ می کردند...!
تشکر...! :46:
ببخشین من متوجه منظورتون نشدم، کدوم متغییرها رو میگین؟نقل قول:
سلام دوست عزيز:40:
ممنون از كمكتون:11:
ولي اگه خوب به عكس نيگا كني مي بيني كه بار اول شكل به زمين مي خوره و بعد دوباره بلند ميشه و بعد دوباره به زمين ميخوره ارتفاع بار دوم هم از بار اول كم تره مي دوني كه چي مي گم شايد يه ورايي با فيزيك مرتبط بشه :d
بازم ممنون:11:
كسي نيست جواب مارو بده بابا لازم داريم حتما
ممنون ميشم كسي جواب بده
شما میخوای به دیواره ها هم بخوره یا نه؟
نقل قول:
نه به ديواره ها برخورد نكنه فقط به زمين بخوره
ممنون از شما:40:
ببینین این خوبه.
سرعتش هم کم میشه و به دیواره هم میخوره.
کد:Public xadd As Integer
Public yadd As Integer
Public xball As Integer
Public yball As Integer
Dim jahesh As Integer
Dim a As Integer
Dim b As Integer
Private Sub Form_Load()
Me.Height = 8000
Me.Width = 9500
jahesh = 0
xball = Shape1.Width
yball = Shape1.Height
xadd = 10
yadd = 50
Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
xball = xball + xadd
yball = yball + yadd
Shape1.Move xball, yball
If xball > Form1.Width - Shape1.Width Or xball < 0 Then
xadd = -xadd
End If
If yball < jahesh Then
yadd = -yadd
End If
If yball > Form1.Height - Shape1.Height - (Shape1.Height / 2) Then
yadd = yadd - 6
yadd = -yadd
If jahesh < Me.Height - 1000 Then
jahesh = jahesh + 1000
Else
Shape1.Move xball, Form1.Height - Shape1.Height - (Shape1.Height / 1.5)
Timer1.Enabled = False
End If
End If
End Sub
دوباره اشتباه کردی...!
متغییر ها رو با Static تعریف کن...!
اینجوری دیگه لازم نیست بیرون تابع تعریف شون کنی...!