تحريك صورة في جميع الاتجاهات على الفورم

تم تحميل الصفحة في 0,4911604 ثانية
تحريك صورة في جميع الاتجاهات على الفورم
إنضم
13 فبراير 2018
المشاركات
7
الإعجابات
5
النقاط
3
العمر
20
انا احاول صنع لعبة بسيطة
يوجد Form1 والدي يمثل عالم اللعبة وهو عبارة عن بحر ويوجد PictureBox1 وهي صورة لسفينة
يتم تحريك السفينة من خلال ازرار لوحة المفاتيح الـ UP و DOWN و LIFET و RIGHT
لقد وضعت 4 صورة لسفينة بتجاهات مختلفة في ملف Resource
حيث يتم استدعاء صورة في تجاه معين لسفنية كلما ضغطت على زر اتجاه
لقد استطعت كتابة الكود لـ 4 اجتاهات وهي الاعلى والاسفل واليمن واليسار
لكن اريد الدمج بين زرين مثلا عندما اظغط على زر UP و LEFT في نفس الوقت يتم تحريك الصورة الى الاعلى واليمن في نفس الوقت ويتم استدعاء الصورة الخاصة بدالك الاتجاه
ارجو المساعدة في هدا الامر
صورة المشروع + الكود



كود:
Public Class Form1

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyValue = Keys.Up Then
            PictureBox1.Image = My.Resources.pirate_ship_80000
            PictureBox1.Top = PictureBox1.Top - 1
        ElseIf e.KeyValue = Keys.Down Then
            PictureBox1.Image = My.Resources.pirate_ship_00000
            PictureBox1.Top = PictureBox1.Top + 1
        ElseIf e.KeyValue = Keys.Left Then
            PictureBox1.Image = My.Resources.pirate_ship_120000
            PictureBox1.Left = PictureBox1.Left - 1
        ElseIf e.KeyValue = Keys.Right Then
            PictureBox1.Image = My.Resources.pirate_ship_40000
            PictureBox1.Left = PictureBox1.Left + 1

        ElseIf e.KeyValue = Keys.Up And Keys.Left Then
            PictureBox1.Image = My.Resources.pirate_ship_70000
            PictureBox1.Top = PictureBox1.Top - 1
            PictureBox1.Left = PictureBox1.Left - 1

        ElseIf e.KeyValue = Keys.Up And Keys.Right Then
            PictureBox1.Image = My.Resources.pirate_ship_100000
            PictureBox1.Top = PictureBox1.Top - 1
            PictureBox1.Left = PictureBox1.Left + 1

        ElseIf e.KeyValue = Keys.Down And Keys.Left Then
            PictureBox1.Image = My.Resources.pirate_ship_20000
            PictureBox1.Top = PictureBox1.Top + 1
            PictureBox1.Left = PictureBox1.Left - 1
        ElseIf e.KeyValue = Keys.Down And Keys.Right Then
            PictureBox1.Image = My.Resources.pirate_ship_70000
            PictureBox1.Top = PictureBox1.Top + 1
            PictureBox1.Left = PictureBox1.Left + 1

        End If
    End Sub
End Class
 

;Null

Beginner Developer
rank
إنضم
18 أكتوبر 2016
المشاركات
75
الإعجابات
82
النقاط
18
يجب ان تضع الاتجهات الاخرى داخل كل اتجاه رئيسي
حاول تقليل تكرار الاكود ..
+ انصحك باستخدام GetKeyState
و ال loops بشدة
 

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل