الف شكر لحضرتك ولمجهودك الجميل
وانا ف كود عاوز حضرتك تساعدنى فية علشان يكمل انا حاولت ف الاخر اعمل شرط لو مثلا Player لمس ال Shape يرجع تانى لنقطة بدايتة بس بيقولى ف حاجة غلط ف نقطة البداية
إقتباس :Dim t, b, l, r
Private Sub Timer1_Timer()
t = Shape1.Top
b = Shape1.Top + Shape1.Height
l = Shape1.Left
r = Shape1.Left + Shape1.Width
If (Player.Top >= Shape1 And Player.Top <= b And Player.Left >= l And Player.Left <= r) Then
Player.Top = 600
Player.Left = 250
End If
End Sub
المفروض ان دى نقطة بداية الصورة
Player.Top = 600
Player.Left = 250
If (t2 >= t And t2 <= b) And (l2 >= l And l2 <= r) Then
Player.Top = 600
Player.Left = 250
ElseIf (b2 >= t And b2 <= b) And (r2 >= l And r2 <= r) Then
Player.Top = 600
Player.Left = 250
End If
كدة بقت تمام اوى وكود التصادم والرجوع لنقطة البداية بقى اسهل من نقط التقاطع
طيب حضرتك انا دلوقت بحاول اسهل ع نفسى الاكواد وبردة اكون فاهمها
يعنى انا عملت كود لحركة الصورة بين نقطتين محددتين
الكود
إقتباس :Private Sub Timer1_Timer()
If Picture1.Top <= 360 Then
Picture1.Top = 2160
Else
Picture1.Top = Picture1.Top - 50
End If
End Sub
لما انا جربت الكود دا لقيت الصورة بتروح لل top المطلوب وبترجع لنقطة بدايتها علطول مش بعمل حركة عكسية وبتكرر نفسها عادى يعنى
لكن انا عاوز مثلا اعدل ع الكود لو ينفع انى مثلا اعملها زى ما حضرتك عملت الحركة ف Vb_Game3
الصورة تتحرك وتعكس حركتها وترجع بس بنفس طريقة الاكواد لو امكن
شكرا
- المتغير النصي Direction خاص بإتجاه الحركة إما للأسفل او للأعلى حيث تكون قيمتة إما Down أسفل أو Up اعلى . حيث أننا عرفنا هذا المتغير على أنه من النوع الذي يحتفظ بقيمته ولا يفقدها Static لأنك لو عرفته بالطريقة العادية Dim فسيفقد قيمته في كل مره يشتغل فيها التايمر لذلك نحن نريده أن يحتفظ بقيمته حتى تظل الصورة تتحرك في نفس الإتجاه إلى أن يتم تغير قيمة المتغير للعكس عند ملامسه النقطة الاخرى . و الجزء من الكود الذي حددته في ردك الاخير هو لوضع قيمة في المتغيرDirection حيث أنه عند تشغيل البرنامج تكون قيمته فارغه ولن تتحرك الصورة لذلك وضعت الجزء هذا حيث يتم تنفيذه مره واحده فقط .
استاذى ومعلمى الفاضل
بشكرا جدا جدا
عندى استفسار بعيدا عن البرنامج اللى بعملة
مش لما انا مثلا يكون 10 بيكتشر بوكس وسمتهم كلهم باسم p1
مش المفروض يتعمل مصفوفة واللى يطبق ع واحدة منهم يطبق ع الكل ؟
لية لما اعمل كدة واجى مثلا اطبق كود من اللى حضرتك عاملهم اجى اكتب p1.top ميبقاش موجود بيبقى موجود 4 خيارات بس
items
lboud
ubound والاختيار الاخير مش فاكرة
وبالطريقة دى مقدرش انفذ وانجز ف الاكواد بتاعتى
اية المشكلة هنا بالظبط
السلام عليكم