الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شرح كود بالتفصيل

مغلق
بدأه The Truth في 1 أكتوبر 2005 · 2 رد · 483 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

أنا اخذت الكود من هالمنتدى بس يا رييييييت لو حد يشرحلي اياه سطر بسطر ولو انه حيكون طويل بس محتاجة لهالمساعدة .... شاكرة الكم كتيييييييير

Private Sub Form_Load()

Set Dd = Dx.DirectDrawCreate("")

Dd.SetCooperativeLevel Me.hWnd, DDSCL_EXCLUSIVE Or DDSCL_FULLSCREEN Or DDSCL_ALLOWREBOOT

Dd.SetDisplayMode 800, 600, 16, 0, DDSDM_DEFAULT

Show

Ddsd.lFlags = DDSD_CAPS Or DDSD_BACKBUFFERCOUNT

Ddsd.ddsCaps.lCaps = DDSCAPS_FLIP Or DDSCAPS_COMPLEX Or DDSCAPS_PRIMARYSURFACE

Ddsd.lBackBufferCount = 1

Set Primary = Dd.CreateSurface(Ddsd)

Ddsd.ddsCaps.lCaps = DDSCAPS_BACKBUFFER

Set Back_Buffer = Primary.GetAttachedSurface(Ddsd.ddsCaps)

Ddsd.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH

Ddsd.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN

Ddsd.lHeight = 50

Ddsd.lWidth = 50

Set Surf1 = Dd.CreateSurfaceFromFile(App.Path & "\pic1.bmp", Ddsd)

Set Surf2 = Dd.CreateSurfaceFromFile(App.Path & "\pic2.bmp", Ddsd)

Surf1.SetColorKey DDCKEY_SRCBLT, Key

Surf2.SetColorKey DDCKEY_SRCBLT, Key

R.Top = 0

R.Left = 0

R.Right = 50

R.Bottom = 50

X1 = 100

Y1 = 100

X2 = 700

Y2 = 500

x_Speed1 = 3

y_Speed1 = 5

x_Speed2 = -5

y_Speed2 = -3

My_Font.Name = "ARIAL"

My_Font.Size = 18

Back_Buffer.SetFillStyle 0

Back_Buffer.SetFillColor 0

Back_Buffer.SetForeColor 250

Back_Buffer.SetFont My_Font

Do

DoEvents

Back_Buffer.DrawBox 0, 0, 800, 600

Back_Buffer.BltFast X1, Y1, Surf1, _

R, DDBLTFAST_SRCCOLORKEY

Back_Buffer.BltFast X2, Y2, Surf2, R, DDBLTFAST_SRCCOLORKEY

'this is the moving code

X1 = X1 + x_Speed1

If X1 > 750 Or X1 < 0 Then x_Speed1 = -x_Speed1

Y1 = Y1 + y_Speed1

If Y1 > 550 Or Y1 < 0 Then y_Speed1 = -y_Speed1

X2 = X2 + x_Speed2

If X2 > 750 Or X2 < 0 Then x_Speed2 = -x_Speed2

Y2 = Y2 + y_Speed2

If Y2 > 550 Or Y2 < 0 Then y_Speed2 = -y_Speed2

Back_Buffer.DrawText 10, 10, "Move in direct draw", False

Primary.Flip Nothing, DDFLIP_WAIT

Loop

End Sub

Private Sub Form_Unload(Cancel As Integer)

On Error Resume Next

Set Dx = Nothing

Set Dd = Nothing

Set Primary = Nothing

Set Back_Buffer = Nothing

Set Surf1 = Nothing

Set Surf2 = Nothing

End

End Sub

#2

:unsure:

#3

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

هذا الموضوع مغلق.

مواضيع مشابهة