Unconfigured Ad Widget

تقليص

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

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

درس عن UnityGUI

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

  • درس عن UnityGUI

    لبسم الله الرحمن الرحيم
    السلام عليكم
    اقدم لكم درس يشرح UnityGUI و كيف الكتابه و كيفيه استخدامه في القوائم
    اولا تعريفه : مكتبه GUI هي مكتبه توفر واجه رسوميه شفافه للمستخدم اي تسهل عليه الكثير من العناء و راينا هذا في انظمة التشغيل القديمه التي لا تدعم الواجه الرسومية و هذه المكتبه تشبه مكتبه Qt التي تعتمد على السي ++ وهي ممتعه لدرجه لن يتصورها احد و ايضا مكتبه API الخ من مكتبات
    ثانيا : الدرس
    الان سنشرح هذه المكتبه في عده اجزاء في هذا الموضوع اول جزء ستمثل كيفيه اضافه بوتون في لعبتنا بهذه المكتبه
    سنضع سكريبتات و نشرحها

    كود:
    function OnGUI () {
    	// وضع خانه المجموعه في منتصف الشاشه
    	GUI.BeginGroup (Rect (Screen.width / 2 - 50, Screen.height / 2 - 50, 100, 100));
    	
    
    	//اضافه البوكس و البوتن الى المجموعه التي انشأناها في الشاشه
    	GUI.Box (Rect (0,0,100,100), "Group is here");
    	GUI.Button (Rect (10,40,80,30), "Click me");
    
    	//نهاية المجموعه
    	GUI.EndGroup ();
    }
    ربما توجد فيه اخطاء لاني لم اكتبه باليونيتي

    *سنشرح السطر الاول اولا استدعينا و وضعنا FUNCTION مسؤوله على كل شيء يظهر في الشاشه و يكون ثابت مثل الدم السلاح و القوائم الخ ..... و هي OnGUI
    وفي السطر الثاني امرناه برسم مجموعه على شكل مستطيل بالقياسات التي نريدها مثلا نحن افترضنا طول الشاشه كذا ثم قسمناه على اثنين و طرحناه من 50 اي طول البوكس 50 بيكسل و البقيه هو طول شاشتك المتبقى و كذلك في الارتفاع قسمناه على 2 ثم طرحناه من 50 .
    نفترض ان طول الشاشه عندنا 200 بيكسل نقسمها على 2 ثم نطرحها من 50 و نجد النتيجه نفس الامر في الارتفاع.
    * ثم امرناه برسم بوكس من المكتبه بتلك القياسات و نعطيه اسم Group is here و داحل هذا البوكس ننشء بوتون بتلك المواصفات حيث يمكن التعديل عليها بالمنطق و نسعطيها اسم مثل Click me
    ثم في السطر الاخير قلنا له ان المجوعه انتهت و لن نضيف لها شيء ثم جربو و ستجدون النتيجه
    يتبع سكريبتات اخرى......
    تقبلو تحياتي و مبادرتي
    Algeria
    -------------
    C++ & DirectX
    fOr EvEr
    -------
    add me : prmohamed@hotmail.com

    or : kauchmar051@hotmail.com



  • #2
    ما شاء الله عليك أخي جميل هل نفس الطريقه يمكن تطبيقها على صورة بوتن كي يكون جرافك المنيو جميل فستكون بالتأكيد أحسن من ركتنكل بللون عشوائي أم لا
    portfolio
    blogspot
    __________________________________
    و قال رسول الله صلى الله عليه وسلم مَثَلُ الْمُؤْمِنِينَ فِي تَوَادِّهِمْ وَتَرَاحُمِهِمْ وَتَعَاطُفِهِمْ مَثَلُ الْجَسَدِ؛ إِذَا اشْتَكَى مِنْهُ عُضْوٌ تَدَاعَى لَهُ سَائِرُ الْجَسَدِ بِالسَّهَرِ وَالْحُمَّى الْمُؤْمِن لِلْمُؤْمِنِ كَالْبُنْيَانِ يَشُدُّ بَعْضه بَعْضًا صدقت يا رسول الله و ابلغت الرسالة و اديت الامانة
    .::no pain no gain::.





    تعليق


    • #3
      سكريبت آخر

      هذا سكريبت آخر يظهر لنا نافذتين نعم او لا
      كود:
      private var selectedToolbar : int = 0;
      private var toolbarStrings = ["Yes", "No"];
      
      function OnGUI () {
      	
      // Determine which button is active, whether it was clicked this frame 
      
      	selectedToolbar = GUI.Toolbar (Rect (50, 10, Screen.width - 100, 30), selectedToolbar, toolbarStrings);
      
      	
      	
      	if (GUI.changed)
      	{
      		print ("The toolbar was clicked");
      
      		if (selectedToolbar == 0)
      		{
      			print ("First button was clicked");
      		}
      		else
      		{
      			print ("Second button was clicked");
      		}
      	}
      }
      سنشرح السكريبت في السطر الاول عرفنا متغير من نوع int
      ثم في السطر الثاني عرفنا متغير آخر هو toolbarStrings راحي ينفذلنا امرين هما نعم او لا كما هو موضح في السكريبت
      ثم عرفنا Function من نوع OnGUI وقد تحدثنا عنها في ما سبق
      ثم من بده استخدمنا ادداه الشرط if اذا تحقق الامر الذي وضعناه ان GUI تغير يطبع لنا النافذه مضغوط عليها ثم استخدمنا اداه الشرط مره اخرى اذا تم تحديد النافذه يطبع لنا ان النافذه الاولى تم النقر عليها ثم استخدمنا الداه else او يطبع لنا ان النافذه الثانيه مضغوط عليها
      يتبع سكريبت آخر قريبا ......
      تقبلو تحياتي
      Algeria
      -------------
      C++ & DirectX
      fOr EvEr
      -------
      add me : prmohamed@hotmail.com

      or : kauchmar051@hotmail.com


      تعليق


      • #4
        نعم هذه يمكن ان نعمل بها و سأشرحه في الدورتي ان شاء الله عمل قائمه بكلتى الطريقيتن و ايضا ينكم التنقل بين المراحل بهذه الطريقه و سأشرحه هي ايضا فيما بعد او الان ان كانت هناك رغبه في ذلك
        Algeria
        -------------
        C++ & DirectX
        fOr EvEr
        -------
        add me : prmohamed@hotmail.com

        or : kauchmar051@hotmail.com


        تعليق


        • #5
          جاري اضافه سكريبتات اخرى ...يتبع......
          Algeria
          -------------
          C++ & DirectX
          fOr EvEr
          -------
          add me : prmohamed@hotmail.com

          or : kauchmar051@hotmail.com


          تعليق


          • #6
            بالطبع أخي لو كان ممكن لو سمحت سؤال آخر ما هي أسهل طريقه لإضافة menu هل هي هاته أي guiأو فانكشن OnMouseDown() التي تطبق على الأزرار
            هل هناك من طرق أخرى ?
            portfolio
            blogspot
            __________________________________
            و قال رسول الله صلى الله عليه وسلم مَثَلُ الْمُؤْمِنِينَ فِي تَوَادِّهِمْ وَتَرَاحُمِهِمْ وَتَعَاطُفِهِمْ مَثَلُ الْجَسَدِ؛ إِذَا اشْتَكَى مِنْهُ عُضْوٌ تَدَاعَى لَهُ سَائِرُ الْجَسَدِ بِالسَّهَرِ وَالْحُمَّى الْمُؤْمِن لِلْمُؤْمِنِ كَالْبُنْيَانِ يَشُدُّ بَعْضه بَعْضًا صدقت يا رسول الله و ابلغت الرسالة و اديت الامانة
            .::no pain no gain::.





            تعليق


            • #7
              هناك طريقه سأشرحها لك الان انتظرني قليلا و ستعمل بها قائمه جيده ان شاء الله
              Algeria
              -------------
              C++ & DirectX
              fOr EvEr
              -------
              add me : prmohamed@hotmail.com

              or : kauchmar051@hotmail.com


              تعليق


              • #8
                شيء جميل... لا كن إلا الآن لم أصبح من مستخدمي هذا المحرك اعتقد سيستفيد منه مستخدميه

                تعليق


                • #9
                  اتمنى ان تصبح من مستخدميه فهو ممتازا جدا ان شاء الله سأشرح وضع القائمه في اقرب وقت
                  Algeria
                  -------------
                  C++ & DirectX
                  fOr EvEr
                  -------
                  add me : prmohamed@hotmail.com

                  or : kauchmar051@hotmail.com


                  تعليق


                  • #10
                    على ما اظن ان onMouseUp();
                    استخدمتها هي جيده مع اضافه خاصيه تغيير الالوان تكون جميله جدا اما استخدان مكتبه gui سأحاول اضافه تكستير مع النافذه و مع تلك الكتابه ان ساتطعه تغيير لونها و اعطيها التطبيق ان نجحت الفكره راح اشرحها هنا تقبلو تحياتي يتبع اكواد اخرى اليوم ان شاء الله
                    .....
                    Algeria
                    -------------
                    C++ & DirectX
                    fOr EvEr
                    -------
                    add me : prmohamed@hotmail.com

                    or : kauchmar051@hotmail.com


                    تعليق


                    • #11
                      مشكوور اخي والله لو توضيح افضل ل ما هو gui هل هو خاص بتصميم قائمة menu و ازرار متل
                      لعبة جديدة
                      ممكن توضيح
                      ان قمت بتصحيح بعض اخطاء بس لس فيه مشاكل
                      function OnGUI() {
                      // ??? ???? ???????? ?? ????? ??????
                      GUI.BeginGroup (Rect (Screen.width / 2 - 50, Screen.height / 2 - 50, 100, 100));


                      //????? ?????? ? ?????? ??? ???????? ???? ???????? ?? ??????
                      GUI.Box (Rect (0,0,100,100)) "Group is here&quot...";
                      GUI.Button (Rect (10,40,80,30)) "Click me&quot...";

                      //????? ????????
                      GUI.EndGroup ();
                      }

                      بس من اين اشغل السكريبت
                      الثورة الاسلامية الكبرى لاعادة الخلافة الراشدة
                      بسم الله الرحمان الرحيم... انما النصر صبر ساعة فلا هوان ولا ستكان حت يعود الضلم تحت الاقدام ويعاقب الخونة وانجاس وترفع الرايات سود و لترتاع يهود لقرب الوعود فالتكن هته الثورة يا اهل مصر و سورية ويا اخواني في العالم اجمع ثورة غضب ثورة غضب خالصة لوجه الله فالتكن بداية النهاية ليعلم اليهود ان الامة اصبحت على فجر النصر وليكن اول بشارات النصر الانتقام من الخونة هم من بني جلدتنا وما هم منا...
                      امة واحدة راية واحد حرب واحدة

                      تعليق


                      • #12
                        لتشغيل السكريبت انشئ اوبجكت فىرغ جديد و ضع عليه السكريبت
                        Algeria
                        -------------
                        C++ & DirectX
                        fOr EvEr
                        -------
                        add me : prmohamed@hotmail.com

                        or : kauchmar051@hotmail.com


                        تعليق


                        • #13
                          انا مش بعمل اوبجكت فارغ انا بفضل اضيف ال gui علي الكاميرا ودا ممكنيكون حلو لسرعة اللعبة
                          3Ds Max Student
                          قناة Mzeid تهتم بالتقنية والتصميم

                          رابط القناة من اليوتيوب من هنا :https://www.youtube.com/user/MzeidCh
                          رابط القناة علي الفيس بوك:
                          https://www.facebook.com/MzeidCh
                          mohamed ayman zeid


                          *******
                          سبحان الله وبحمده سبحان الله العظيم لا إله إلا الله وحده لاشريك له له الملك وله الحمد وهو علي كل شئ قدير


                          تعليق


                          • #14
                            لا يا اخي لا تضعها على الكاميرا بل انشء اوبجكت يكون احسن لك ربما لا تضبط على الكاميرا انت جرب يكون احسن
                            Algeria
                            -------------
                            C++ & DirectX
                            fOr EvEr
                            -------
                            add me : prmohamed@hotmail.com

                            or : kauchmar051@hotmail.com


                            تعليق


                            • #15
                              تضبط عل كمر جيد اك في نتضار جديد هد gui
                              الثورة الاسلامية الكبرى لاعادة الخلافة الراشدة
                              بسم الله الرحمان الرحيم... انما النصر صبر ساعة فلا هوان ولا ستكان حت يعود الضلم تحت الاقدام ويعاقب الخونة وانجاس وترفع الرايات سود و لترتاع يهود لقرب الوعود فالتكن هته الثورة يا اهل مصر و سورية ويا اخواني في العالم اجمع ثورة غضب ثورة غضب خالصة لوجه الله فالتكن بداية النهاية ليعلم اليهود ان الامة اصبحت على فجر النصر وليكن اول بشارات النصر الانتقام من الخونة هم من بني جلدتنا وما هم منا...
                              امة واحدة راية واحد حرب واحدة

                              تعليق

                              يعمل...
                              X