موضوع: مازال هنالك بعض المشاكل في الاكواد

ردود: 5 | زيارات: 1065
  1. #1

    Question مازال هنالك بعض المشاكل في الاكواد

    السلام عليكم
    في البدء ... بعد ان كنبت الموضوع ..رأيت انه طوييييل...لذا اعذروني
    بعد شغل يومان متواصله في لعبه ماريوا...وجدت بعض المشاكل...وجدت انها معقده جدا مما ظننت :
    فهي اول لعبه (حقيقيه ) اعمل عليها :-

    اولا : مكشله التحريك مع تقدم الصوره ورجعوها :
    - انشأت خلفيه عريضه فيها الحفر والاماكن المرتفعه وانشأة الشخصيه .
    عندما احرك الشخصية في البداية...ستتحرك بسلاسه ... ولاكن عندما ربطت تقدم الصورة برجوع الشخصية
    كما في الكود التالي :
    If KeyCode = 39 Then
    Picture1.Left = Picture1.Left + 300 / الشخصية
    Picture8.Left = Picture8.Left - 200 / الخلفيه
    Image1.Left = Image1.Left - 200 / العنصر (1)
    اصبحت تقدم الشخصية بطيء وممل...هل اربط احرك الخلفيه بعنصر timer ؟
    العنصر (1) : عنصر انشأته لكي يكون محل المكان المرتفع الاول بالخلفيه لكي اتحكم بالارتفاع الضاهر بالخلفيه
    طبعا جعلت image1.visible = false ....
    _______________

    القفز : انشأت القفز بواسطه ثلاث عنصر Timer ....
    Timer1 : يتحكم بخاصية Top
    Timer2 : يتحكم بخاصية Top
    Timer3 : يتحكم بخاصيه Left
    جعلت التوب له عنصرين TIMER لانني ان وضعت عنصر واحد سيتعارض مع القفزه لان القفز في TOP
    سيكون هكذا 1 - 2 - 3 - 2 - 1 ..اي سيرتفع ثم سيهبط ...(اعتقد ان كلامي غير واضح لذا هاهو الكود )

    السلام عليكم
    في البدء ... بعد ان كنبت الموضوع ..رأيت انه طوييييل...لذا اعذروني
    بعد شغل يومان متواصله في لعبه ماريوا...وجدت بعض المشاكل...وجدت انها معقده جدا مما ظننت :
    فهي اول لعبه (حقيقيه ) اعمل عليها :-

    اولا : مكشله التحريك مع تقدم الصوره ورجعوها :
    - انشأت خلفيه عريضه فيها الحفر والاماكن المرتفعه وانشأة الشخصيه .
    عندما احرك الشخصية في البداية...ستتحرك بسلاسه ... ولاكن عندما ربطت تقدم الصورة برجوع الشخصية
    كما في الكود التالي :
    If KeyCode = 39 Then
    Picture1.Left = Picture1.Left + 300 / الشخصية
    Picture8.Left = Picture8.Left - 200 / الخلفيه
    Image1.Left = Image1.Left - 200 / العنصر (1)
    اصبحت تقدم الشخصية بطيء وممل...هل اربط احرك الخلفيه بعنصر timer ؟
    العنصر (1) : عنصر انشأته لكي يكون محل المكان المرتفع الاول بالخلفيه لكي اتحكم بالارتفاع الضاهر بالخلفيه
    طبعا جعلت image1.visible = false ....
    _______________

    القفز : انشأت القفز بواسطه ثلاث عنصر Timer ....
    Timer1 : يتحكم بخاصية Top
    Timer2 : يتحكم بخاصية Top
    Timer3 : يتحكم بخاصيه Left
    جعلت التوب له عنصرين TIMER لانني ان وضعت عنصر واحد سيتعارض مع القفزه لان القفز في TOP
    سيكون هكذا 1 - 2 - 3 - 2 - 1 ..اي سيرتفع ثم سيهبط ...(اعتقد ان كلامي غير واضح لذا هاهو الكود )

    Private Sub Form_Load()
    a = 1
    time2 = 150
    jumpx = 500
    jumpy = 5900
    time = -200
    Timer1.Interval = 50
    Timer1.Enabled = False
    Timer3.Interval = 50
    Timer3.Enabled = False
    speed = 150
    Timer2.Interval = 100
    Timer2.Enabled = False

    ----
    If a = 1 Then
    If KeyCode = 32 Then
    Timer1.Enabled = True
    Timer2.Enabled = True
    Timer3.Enabled = True
    Picture1 = Picture9
    a = 2
    End If

    -----
    Private Sub Timer1_Timer()

    jumpy = jumpy + time
    Picture1.Top = jumpy

    If s >= 500 And s <= 900 Then
    time = -100
    End If
    If s > 900 And s <= 1500 Then
    time = -20
    End If
    If s > 1500 And s <= 2100 Then
    time = 20
    End If
    If s > 2100 And s <= 2500 Then
    time = 100
    End If
    If s > 2500 Then
    time = 200
    End If
    If Picture1.Left < Picture8.Left And Picture1.Left + Picture1.Width > Picture8.Left And Picture1.Top + Picture1.Height > Picture8.Top Then
    Timer3.Enabled = False
    End If

    If Picture1.Top >= 5900 Or (Picture1.Top < Picture8.Top And Picture1.Top + Picture1.Height > Picture8.Top And Picture1.Left > Picture8.Left And Picture1.Left < Picture8.Left + Picture8.Width) Then
    Timer1.Enabled = False
    Timer2.Enabled = False
    Timer3.Enabled = False
    Picture1 = Picture4
    s = 0
    time = -200
    a = 1
    ----

    Private Sub Timer2_Timer()
    s = s + speed
    End Sub
    ----

    Private Sub Timer3_Timer()
    jumpx = jumpx + time2
    Picture1.Left = jumpx
    End Sub

    ..مايفعله الكود غير انه يقوم بالقفز :
    يبطل عمل جميع المفاتيح حتى تنتهي القفزه ( الامر a=1 , a=2 )
    اذا قفزت الشخصيه حتى تعتلي المرتفع ولاكنها لم تصل الى العلو المطولب فإن الTimer3 = false اي انه ينزل .
    يقف فوق المرتفع.

    ارأيتم (لا اعرف شي عن البرمجة) فهذه الطريقه لا يفهمها احد ....فهل يوجد طريقة افضل ؟

    ___________
    كود التحريك الكامل :
    If KeyCode = 39 Then
    If Picture1.Left + Picture1.Width > Picture8.Left And Picture1.Top + Picture1.Height > Picture8.Top And Picture1.Left < Picture8.Left Then
    Exit Sub
    End If
    End If


    If KeyCode = 39 Then
    Picture1.Left = Picture1.Left + 300
    Picture8.Left = Picture8.Left - 200
    Image1.Left = Image1.Left - 200
    jumpx = jumpx + 300
    If kr = 1 Then
    Picture1 = Picture2
    kr = 2
    ElseIf kr = 2 Then
    Picture1 = Picture3
    kr = 1
    End If
    End If

    ما يقوم به الكود غير التحريك لليمين :
    يضيف للjumpx مقدار المسافه التي تحركت بها حتى اقفز من المكان اللذي توقفت عنده .
    اذا كانت الشخصيه اصطدمت بالمرتفع فإنها تتوقف ....

    طبعا واهم مشكله عندي ان القياسات غير دقيقه. مره يوقف على الارض ومره تحتها..و..و...
    الشخصيه مرسومه في مربع لونه اسود ..كيف ابعد اللون الاسود (mask)
    الاصوات...كيف ادخل اصوات MIDI , WAV

    طبعا الاجوبه...تحتاج صفحات .............جاوب على اللي تقدر عليه


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jun 2001
    المنطقة
    مصر
    العمر
    34
    ردود
    199
    بسم الله الرحمن الرحيم

    الحقيقة أخي العزيز أنا أحيي فيك اهتمامك باللعبة ومثابرتك عليها

    ولكن أنا لا أستطيع متابعة الأكواد على الموقع

    يمكنك أن ترسل لي اللعبة على بريدي ثم أشارك معك في حل أو توضيح المشاكل

    تحياتي

  3. #3
    مشكور اخوي ..... ماقصرت
    بس انا اجلت اللعبه كلها....لاني تعلمت طرق برمجه افضل واسرع ..وانا قاعد اتلعم API زي BITBLT ...و غيرها.... ولما اخلص من التعليم...ابدا بالتطبيق (اسوي العاب )

  4. #4
    عضو نشيط
    صور رمزية أسد الله
    تاريخ التسجيل
    Nov 2001
    المنطقة
    الرياض
    ردود
    675

    المسألة أسهل مما تتصور ..

    الأسئلة قدمتها سهلة وهاهي حلولها :
    1- بالنسبة لكل مشاكل التحرك جرب
    2- الـ STATUS FUNCTION مع وضع فريم مربوط بالSTATUS
    وهذا طريقة التحريك في لعبة ميتل غير .
    بالنسبة للصوت استخدم play_entsound ثم ضع صوتك إذا ما فهمت علي أسأل .
    إن الآخرين قد يتواجدون لمساعدتنا وتعليمنا وتوجيهنا ، ولكن الدرس الذي يجب أن نتعلمه متروك لنا .

  5. #5
    play_entsound
    رب زدنِى علماً
    جيتس و اينشتين احدثوا ثورة في مجالاتهم و لكن بعد كل هذا هل استطاعوا ان "يميزوا" بعد كل ذلك ان الله احد لم يلد و لم يولد ؟
    نعم - احمد صالح .
    برمجة الألعابُ هي عملية تــحويل الصور الميتة إلي صور حية - احمد صالح .
    الامـة التى تــفرط فى لغـــتها كالتى تفرط فى عرضها !!!
    انا لو لم اكن مصريا * لوددت أن اكون مصريا

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل