السلام عليكم
في البدء ... بعد ان كنبت الموضوع ..رأيت انه طوييييل...لذا اعذروني
بعد شغل يومان متواصله في لعبه ماريوا...وجدت بعض المشاكل...وجدت انها معقده جدا مما ظننت :
فهي اول لعبه (حقيقيه ) اعمل عليها :-
اولا : مكشله التحريك مع تقدم الصوره ورجعوها :
- انشأت خلفيه عريضه فيها الحفر والاماكن المرتفعه وانشأة الشخصيه .
عندما احرك الشخصية في البداية...ستتحرك بسلاسه ... ولاكن عندما ربطت تقدم الصورة برجوع الشخصية
كما في الكود التالي :
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
طبعا الاجوبه...تحتاج صفحات .............جاوب على اللي تقدر عليه
في البدء ... بعد ان كنبت الموضوع ..رأيت انه طوييييل...لذا اعذروني
بعد شغل يومان متواصله في لعبه ماريوا...وجدت بعض المشاكل...وجدت انها معقده جدا مما ظننت :
فهي اول لعبه (حقيقيه ) اعمل عليها :-
اولا : مكشله التحريك مع تقدم الصوره ورجعوها :
- انشأت خلفيه عريضه فيها الحفر والاماكن المرتفعه وانشأة الشخصيه .
عندما احرك الشخصية في البداية...ستتحرك بسلاسه ... ولاكن عندما ربطت تقدم الصورة برجوع الشخصية
كما في الكود التالي :
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
طبعا الاجوبه...تحتاج صفحات .............جاوب على اللي تقدر عليه
تعليق