PDA

View Full Version : مقاله آموزشي: می خواهم بازي ساز شوم



earse+erse
چهارشنبه 18 آذر 1388, 15:54 عصر
BitBltمي خواهم بازي ساز شوم (1) تابع


سلام تو اين تاپيك مي خوام نكته هايي رو به كساني يادآور بشم كه مي خوان با وي بي بازي بسازن.
اگه كسي دوست داره با بنده به طور مشترك يه بازي بسازه/ بسازيم . . . ما هستيم (پيام خصوصي بدين):لبخند:
مقدمه:
در ساخت بازي به روش خارجكي كلي دفتر دستك و تهيه كننده و كارگردان لازمه ولي اينجا ايرانه و ما هم برنامه نويس ويژوال بيسيك6!:لبخندساده:
چيزهايي كه لازمه: 1- يك عدد داستان توپ 2-چند عدد برنامه نويس 3-گرافيك(كاراكتر و موضوعات) 4- كد نويسي
بازي هاي دو بعدي VB6 رو به دو صورت مي سازند: 1- استفاده ازImage 2- استفاده از تابع BitBlt
خوب به دليل مشكلات فراوان استفاده ازImage من دوست دارم از تابع BitBlt استفاده مي كنم.
توجه: براي درك كامل اين تابع فايل PDF را از ضميمه دانلود كنين.:متفکر:
اين تابع يكي از توابع API است كه كد هاي اصلي اون در زير موجود است.




Public Enum RasterOps
SRCCOPY = &HCC0020
SRCAND = &H8800C6
SRCINVERT = &H660046
SRCPAINT = &HEE0086
SRCERASE = &H4400328
WHITENESS = &HFF0062
BLACKNESS = &H42
End Enum
Declare Function BitBlt Lib "gdi32" ( _
ByVal hDestDC As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hSrcDC As Long, _
ByVal xSrc As Long, _
ByVal ySrc As Long, _
ByVal dwRop As RasterOps) As Long


فعلا خدا حافظ
موفق باشيد.:چشمک:

earse+erse
چهارشنبه 18 آذر 1388, 18:30 عصر
مي خواهم بازي ساز شوم (2) كاراكتر






گرافيك در بازي سازي نقش مهمي داره و مي تونه به بازي جون بده يا بگيره!

نكته: كاراكتر اصلي بازي را بايد با استفاده از نرم افزار هاي گرافيكي طراحي كرد.

نكته: ابعاد كاراكتر را متناسب با بازي خود تون در نظر بگيرين.

معمولا كاراكتر بازي دو بعدي بايد حركاتي مثل دويدن، پريدن و ... به دو سمت را داشته باشد.

توجه:چند كاراكتر آماده در اينجا (http://www.barnamenevis.org/forum/showthread.php?t=192511)وجود دارد.
حتما مي دونين كه در تابعBitBlt براي يه كاراكتر نياز به2 تصوير يه جور داريم و اين تعداد تصاوير ما را بالا مي برد براي همين منظور ما نياز به يك ImageList داريم تا تمامي تصاوير حركات كاراكتر رو تو اون ذخيره كنيم و موقع نياز اون رو فرا بخوانيم مثلا با كد



FrameCounter = FrameCounter + 2
If FrameCounter = 23 Then FrameCounter = 1
picMan.Picture = ImageList1.ListImages(FrameCounter).Picture
picMask.Picture = ImageList1.ListImages(FrameCounter + 1).Picture

ميشود يه انيميشن ساده درست كرد و اين كد خيلي به درد ما مي خوره.
فعلا خداحافظ
موفق باشيد.

earse+erse
پنج شنبه 26 آذر 1388, 13:47 عصر
مي خواهم بازي ساز بشوم(3)-طراحي و ايجاد موانع


در طراحي بازي هاي دو بعدي در VB6 ايجاد موانع بسيار مهم است.
موانع در بازي به دو دسته ي :دشمن و شيء تقسيم ميشود.
براي اين كه بفهميم كاراكتر كي به مانع بر خورد مي كند بايد كدي مانند زير داشته باشيم



Private Sub timer1_Timer()
If GetAsyncKeyState(vbKeyLeft) <> 0 Then
For i = 0 To 5 'تعداد موانع=5
If m.Left <= Box(i).Left + Box(i).Height And m.Left + m.Height>= _
Box(i).Left + Box(i).Height And m.Top > Box(i).Top Then
tleft.Enabled = False 'تايمري كه به چپ حركت كردن كاراكتر را چك مي كند
End If
Next i
End Sub

ادامه دارد . . . :لبخند:
موفق باشيد.