Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

الآن أول لعبة كاملة من انتاج موقعي !!! أدخلوا الآن

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • #16
    اللعبة مسلية يمكن أنا أول من خلصها لكن دائما ملتفت إلى ليمين أيضا ما يلمس الأرض المشكلة في اللعبة اللي يصمم المراحل لازم يتعب .

    تعليق


    • #17
      السلام عليكم
      بالتأكيد لست أنت أول من خلصها فهناك أنا والأعضاء الذين نزلوها من قبلك

      بالنسبة للإتجاه لليمين الإجباري أقوم حالية بتعديل هذا الجزء

      بالنسبة لموقعه على الأرض فهي مسألة قياسات ويمكن حلها بسهولة (لا تنس أن اللعبة تجريبية)

      بالنسبة لتصميم الخرائط فـ(مفاجأة) النسخة الجديدة من اللعبة سيكون معها Mapeditor ليكون بإمكانك بناء وحفظ خرائط جديدة لتلعب عليها

      تحياتي

      تعليق


      • #18
        لعبة رانجر الإصدارة الأولى مع تلافي بعض العيوب من الإصدارات السابقة

        http://gamedesigners.netfirms.com/Ht...ds/Ranger1.zip

        أرجوا أن أرى ردودكم (ولا تخذلوني)

        تحياتي

        تعليق


        • #19
          يوجد خطأ

          السلام عليكم
          يوجد خطاء و هو اذا ضغط على مفتاحى ALT+TAB فسيفقد برنامجك السطح التى ترسم علية
          و هو ما يسمى ب the Lost Surface .
          انا لولم اكن مصريا * لو وددت ان اكون مصريا
          لامستحيل فى برمجة الالعاب

          تعليق


          • #20
            اسف على كتابة رد جديد فقد اكتشفت خطا بعد قليل
            وهو عند الذهاب الى قائمة Load Game يظهر المربع و عند الضغط على Cancel فانة لا يلغى الامر.

            اللعبة فى راى جميلة و ممتازة .
            انا لولم اكن مصريا * لو وددت ان اكون مصريا
            لامستحيل فى برمجة الالعاب

            تعليق


            • #21
              أخي العزيز

              الحقيقة أنت ناقد رائع وأشكرك على نقدك

              حدث Alt و tap أقوم بحله الآن

              أما عن عملية الفتح فهي عملية لازمة لأنني حتى الآن لا أعرف(برمجيا) طريقة إعداة اللعبة إلى ماكانت عليه قبل إظهار رسالة فتح وبالتالي يجب فتح ملف لكي أستطيع العمل عليه ...

              لو استطعت حل هذه المشكلة فلن تكون موجودة بإصدارة القادمة بإذن الله

              تحياتي

              تعليق


              • #22
                بسم الله الرحمن الرحيم
                السلام عليكم
                نعم , أنا أتفق معك في أن أحمد ناقد ممتاز

                بخصوص The Lost Device , هذا الكلام من ال SDK

                Lost Devices
                " A Microsoft® Direct3D® device can be in either an operational state or a lost state. The operational state is the normal state of the device; the device executes and presents all rendering as expected. The device makes a transition to the lost state when an event, such as the loss of keyboard focus in a full-screen application, causes rendering to become impossible. The lost state is characterized by the silent failure of all rendering operations, which means that the rendering methods can return success codes even though the rendering operations fail. In this situation, the error code D3DERR_DEVICELOST is returned by Direct3DDevice8.Present.

                By design, the full set of scenarios that can cause a device to become lost is not specified. Some typical examples include loss of focus, such as when the user presses ALT+TAB or when a system dialog is initialized. Devices can also be lost due to a power management event, or when another application assumes full-screen operation. In addition, any failure from Direct3DDevice8.Reset puts the device into a lost state.

                Note The only methods that are guaranteed to work after a device is lost are Direct3DDevice8.TestCooperativeLevel, IDirect3DDevice8::Reset

                Responding to a Lost Device
                If a device is lost, the application queries the device to see if it can be restored to the operational state. If not, the application waits until the device can be restored.

                If the device can be restored, the application prepares the device by destroying all video-memory resources and any swap chains. Then, the application calls Direct3DDevice8.Reset. Reset is the only method that has an effect when the device is lost, and is the only method by which an application can change the device from a lost to an operational state. Reset will fail unless the application releases all resources that are allocated in D3DPOOL_DEFAULT, including those created by the Direct3DDevice8.CreateRenderTarget and Direct3DDevice8.CreateDepthStencilSurface methods.

                For the most part, the high-frequency calls of Direct3D do not return information about whether the device has been lost. The application can continue to call rendering methods, such as Direct3DDevice8.DrawPrimitive, without receiving notification of a lost device. Internally, these operations are discarded until the device is reset to the operational state.

                The application can determine what to do on encountering a lost device by querying the return value of the Direct3DDevice8.TestCooperativeLevel method.

                If the method returns D3D_OK, the device is operational.
                If the device is lost but cannot be restored at the current time, the return value is D3DERR_DEVICELOST. This is the case when the user presses ALT+TAB, causing a full-screen device to lose focus. Applications should respond by pausing until the device can be reset. A D3DERR_DEVICENOTRESET return code from TestCooperativeLevel indicates this situation.
                If the device is lost and can be restored, the return code from TestCooperativeLevel is D3DERR_DEVICENOTRESET. Note that the return code from the Direct3DDevice8.Present method is still D3DERR_DEVICELOST.
                In all cases, destroying video-memory resources is a prerequisite to calling Reset, even if the device has not been lost.

                Locking Operations
                Internally, Direct3D does enough work to ensure that a lock operation will succeed after a device is lost. However, it is not guaranteed that the video-memory resource's data will be accurate during the lock operation. It is guaranteed that no error code will be returned. This allows applications to be written without concern for device loss during a lock operation.

                Resources
                Resources can consume video memory. Because a lost device is disconnected from the video memory owned by the adapter, it is not possible to guarantee allocation of video memory when the device is lost. As a result, all resource creation methods are implemented to succeed by returning D3D_OK, but do in fact allocate only dummy system memory. Because any video-memory resource must be destroyed before the device is resized, there is no issue of over-allocating video memory. These dummy surfaces allow lock and copy operations to appear to function normally until the application calls Direct3DDevice8.Present and discovers that the device has been lost.

                All video memory must be released before a device can be reset from a lost state to an operational state. This means that the application should release any swap chains created with Direct3DDevice8.CreateAdditionalSwapChain and any resources placed in the D3DPOOL_DEFAULT memory class. The application need not release resources in the D3DPOOL_MANAGED or D3DPOOL_SYSTEMMEM memory classes. Other state data is automatically destroyed by the transition to an operational state.

                You are encouraged to develop applications with a single code path to respond to device loss. This code path is likely to be similar, if not identical, to the code path taken to initialize the device at startup.

                Retrieved Data
                Direct3D allows applications to validate texture and render states against single pass rendering by the hardware using IDirect3DDevice8::ValidateDevice. This method, which is typically invoked during initialization of the application, will return D3DERR_DEVICELOST if the device has been lost.

                Direct3D also allows applications to copy generated or previously written images from video-memory resources to nonvolatile system-memory resources. Because the source images of such transfers might be lost at any time, Direct3D allows such copy operations to fail when the device is lost.

                The copy operation Direct3DDevice8.CopyRects can return D3DERR_DEVICELOST when the source object is in volatile memory (D3DPOOL_DEFAULT) and the destination object is in nonvolatile memory (D3DPOOL_SYSTEMMEM or D3DPOOL_MANAGED). Another copy operation, Direct3DDevice8.GetFrontBuffer, can fail due to retrieving data from the primary surface. Note that these cases are the only instance of D3DERR_DEVICELOST outside of the Direct3DDevice8.Present, Direct3DDevice8.TestCooperativeLevel, and Direct3DDevice8.Reset methods.

                Programmable Shaders
                In Microsoft® DirectX® 8.1, programmable vertex shaders and programmable pixel shaders don't need to be recreated after Reset. They will be remembered. In previous versions of DirectX, a lost device required shaders to be recreated "
                عبدالله

                تعليق


                • #23
                  أشكرك أخي ملك الماكس على هذه النصيحة

                  تعليق


                  • #24
                    السلام عليكم
                    لحل هذة المشكلة ببساطة الغى مفتاحى Alt+ Tab & CTRL & ALT & DELETE
                    ----------
                    الحل الاخر و هو متعلق بالدايركت اكس
                    لكشف ان السطح فقد او ضاع ابحث عن الاول هل هو ضاع ام لا باستخدام الدالة التى تعمل اختبار
                    على نمط العرض TestCooperativeLevel() فاعمل اختبار اذا فشلت الدالة اذن كارت
                    الشاشة فقد , و بالتالى اتبع الخطوات الاتية لاستراجعة
                    حرر كل ما كان مخزون فى الذاكرةRelease Back Surface و خصوصا السطح الخلفى الان عيد الان الحالة التى كان عليها كارت الشاشة
                    للشاشة باستخدام Restore لكائن كارت الشاشة الذى لديك D3dDevice ثم احصل على
                    السطح الخلفى الذى حرر من الذاكر "السطح الخلفى الجديد" كانك بترسم على الشاشة من اول
                    و جديد .
                    ملحوظة : ابرمج بالفيجول سى++ مع الدايركت اكس8 و انتا تستخدم الفيجول بيسك لذلك لم
                    استطيع كتابة الكود الكامل .
                    انا لولم اكن مصريا * لو وددت ان اكون مصريا
                    لامستحيل فى برمجة الالعاب

                    تعليق


                    • #25
                      بسم الله الرحمن الرحيم
                      السلام عليكم
                      أخي EGY_Tiger ..
                      ما عندي خبرة كبيرة في ال DirectX لكن حبيت اساعد ..
                      عبدالله

                      تعليق


                      • #26
                        الله الله الله الله ..

                        بس اي برنامج مسويها وشكراً لك اخوي
                        تذكر ان الموضوع اعلاه من عام 2002 يعني من قبل ثمان سنوات
                        وين بيصير فيه سوني ثري في ذاك الوقت

                        تعليق


                        • #27
                          بسم الله الرحمن الرحيم

                          أخي العزيز ahmed saleh

                          الأمر لا يحتاج كل هذا التعقيد فاللعبة لا تحتاج لإلغاء Alt + Tap ولكن يجب أن تختبر ال
                          Test Coaperative level

                          وفي حالة ضياع السطوح Lost Surfaces في دايركت إكس 7 تكتب الكود التالي

                          Dd.RestoreAllSurfaces

                          تحياتي

                          ملاحظة اللعبة مصنوعب بلغة الفيجوةل بيسك 6 ومكتباتب دايركت إكس 7

                          تعليق


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

                            تعليق

                            يعمل...
                            X