Unconfigured Ad Widget

تقليص

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

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

مساعدة في فهم اجزاء من الكود ( الموضوع مستمر )

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

  • مساعدة في فهم اجزاء من الكود ( الموضوع مستمر )

    السلام عليكم ورحمة الله وبركاته

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

    هنبدأ بالكود دة

    كود:
    public class shoot : MonoBehaviour {
    	public Rigidbody shooter;
    	public int throwpower;
    
    	// Use this for initialization
    	void Start () {
    		shooter=shooter.GetComponent<Rigidbody>();
    	
    	}
    	
    	// Update is called once per frame
    	void Update () {
    
    		if(Input.GetButtonDown("Fire1"))
    		{
    			[COLOR="#006400"][B]Rigidbody clone;
    			clone=Instantiate(shooter,transform.position,transform.rotation)as Rigidbody;
    			clone.velocity=transform.TransformDirection(Vector3.forward*throwpower);[/B][/COLOR]
    		}
    	
    	}
    }
    الكود اللي فوق دة كود خاص باطلاق النار في اتجاة معين
    الكود دة شغال وكلة تمام المشكلة اني مش قادر افهم هو ليه عرف rigidbody مرة تانية باسم clone مع انه كان يقدر يستخد الاسم shoter وايجيب كل الاوامر دي منه ؟

    الاهم بقي اني جربت فعلا اعمل كدة والكود اشتغل معايا ومطلعليش اي خطأ ولكن الكود وقف عند السرعة ومقدرش يتعرف عليها مهما زودت او قللت في القيمة مفيش اي نتيجة بينفذ الرجد بادي العادية خالص كأنه مش شايف السطر بتاع السرعة اصلا

    اتمني ان اجد تفسير عندكم

    ا
    التعديل الأخير تم بواسطة donjwan88; 03 / 12 / 2015, 03:29 PM.
    سبحان الله وبحمده سبحان الله العظيم


    من قال سبحان الله وبحمده ( 100 ) مرة في يوم غفرت كل ذنوبه
    وإن كانت مثل زبد البحر


    ألا أدلك على كلمة تقولها بدقيقة واحدة فقط تحصل بها على اكثر من ( 100.000.000.000 ) حسنة ( مائة مليار حسنة ) بل أكثر والله يضاعف لمن يشاء فقد قال ارسول صلى الله عليه وسلم في حديثه ( من قال أستغفر الله العظيم التواب الرحيم لذنبي وللمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات إلى يوم الدين كتب له بكل مؤمن ومؤمنة حسنة )


    مدونتي


  • #2
    مفيش حد هنا يساعد يا شباب والا ايه
    سبحان الله وبحمده سبحان الله العظيم


    من قال سبحان الله وبحمده ( 100 ) مرة في يوم غفرت كل ذنوبه
    وإن كانت مثل زبد البحر


    ألا أدلك على كلمة تقولها بدقيقة واحدة فقط تحصل بها على اكثر من ( 100.000.000.000 ) حسنة ( مائة مليار حسنة ) بل أكثر والله يضاعف لمن يشاء فقد قال ارسول صلى الله عليه وسلم في حديثه ( من قال أستغفر الله العظيم التواب الرحيم لذنبي وللمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات إلى يوم الدين كتب له بكل مؤمن ومؤمنة حسنة )


    مدونتي

    تعليق


    • #3
      ببساطة هو قال لليونيتي إذا ضغط أحد على زر الإطلاق fire1
      قم بصنع رصاصة إسمها clone لها نفس خصائص shooter

      لتفهم أكثر شوف هذه الدالة وهي المستعملة في الكود الذي وضعته أنت
      http://docs.unity3d.com/ScriptRefere...stantiate.html

      تعليق


      • #4
        الجواب بسيط، هو في البداية عرفت متغير من نوع rigidbody باسم shooter هذا المتغير يمثل الطلقة، لهذا هو حصل على المكون rigidbody لانة بكل بساطة الطلقة تحتوي علية، في الشرط هو عرف ان الدالة انستانشل هي من نوع rigidbody ولاحظ بالاخير انة عامل الدالة ك rigidbody اي ان هطة الدالة تتطلب متغير من نوع rigidbody و بما ان المتغير shooter يحتوي على هذا المكون اذن ستتعرف
        علية الدالة، بالنسبة للمتغير clone هو المتغير الذي يمثل الدالة انستانشل لكي يتعامل معة لاحقاً، هذا كان مفهوم الكود ببساطة ☺.
        مدونتي Home OF Games تهتم بتطوير الألعاب
        قناتي
        YouTube

        لو كان Internet Explorer شجاعاً لطلب منك ان يكون متصفحك الشخصي, فعليك ان تكون شجاعاً كفاية لتقوم بكل خطوة صعبة
        .

        تعليق


        • #5
          الف الف شكر اخي العزيز بصراحة كلمتين في الصميم انت افدتيني كتير جزاك الله خيرا

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


          من قال سبحان الله وبحمده ( 100 ) مرة في يوم غفرت كل ذنوبه
          وإن كانت مثل زبد البحر


          ألا أدلك على كلمة تقولها بدقيقة واحدة فقط تحصل بها على اكثر من ( 100.000.000.000 ) حسنة ( مائة مليار حسنة ) بل أكثر والله يضاعف لمن يشاء فقد قال ارسول صلى الله عليه وسلم في حديثه ( من قال أستغفر الله العظيم التواب الرحيم لذنبي وللمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات إلى يوم الدين كتب له بكل مؤمن ومؤمنة حسنة )


          مدونتي

          تعليق


          • #6
            اولا هو ينشيئ كائن جديد اسمه clone ونوعه Rigidbody ويحمل shooter المعرف باول الكود
            السبب من انه جعله من نوع رجد بوي لانه shooter اللذي سوف ينسخه يجب انه يكوو مساوي له بالنوع رجد بودي مع رجد بودي
            ولانه سوف يستخدم التحريك بواسط velocity
            وهذا التحريك بواسطة velocity يختص Rigidbody
            لا اله الا الله واشهد ان محمد رسول الله
            اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
            وتفتك باعدائك اعداء الدين

            تعليق


            • #7
              في حلجة تانية محيراني اخي العزيز

              الامثلة اللي شوفتها لقيتهم اصلا كاتبين الكود علي طول في الابديت وما استدعوش الكمبوننت في استارت زي اللي معمول في الكود اللي فوق
              shooter=shooter.GetComponent<Rigidbody>();

              ايه الفرق بين دة وبين دة لاني جربت الاتنين والاتنني شغالين مفيش اي مشكلة

              والا لازم استدعي الكمبوننت في استارت علشان اللعبة لما اخرجها من اليونتي تشتغل والا ايه
              سبحان الله وبحمده سبحان الله العظيم


              من قال سبحان الله وبحمده ( 100 ) مرة في يوم غفرت كل ذنوبه
              وإن كانت مثل زبد البحر


              ألا أدلك على كلمة تقولها بدقيقة واحدة فقط تحصل بها على اكثر من ( 100.000.000.000 ) حسنة ( مائة مليار حسنة ) بل أكثر والله يضاعف لمن يشاء فقد قال ارسول صلى الله عليه وسلم في حديثه ( من قال أستغفر الله العظيم التواب الرحيم لذنبي وللمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات إلى يوم الدين كتب له بكل مؤمن ومؤمنة حسنة )


              مدونتي

              تعليق


              • #8
                الف شكر يا المناهل ايون كدة كل مرة بتظهرلي حاجات جديدة جزاك الله خيرا
                سبحان الله وبحمده سبحان الله العظيم


                من قال سبحان الله وبحمده ( 100 ) مرة في يوم غفرت كل ذنوبه
                وإن كانت مثل زبد البحر


                ألا أدلك على كلمة تقولها بدقيقة واحدة فقط تحصل بها على اكثر من ( 100.000.000.000 ) حسنة ( مائة مليار حسنة ) بل أكثر والله يضاعف لمن يشاء فقد قال ارسول صلى الله عليه وسلم في حديثه ( من قال أستغفر الله العظيم التواب الرحيم لذنبي وللمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات إلى يوم الدين كتب له بكل مؤمن ومؤمنة حسنة )


                مدونتي

                تعليق


                • #9
                  اخي الفرق بين استدعاء هذة الدالة في استارت او ابديت هو انة في حالة تم استدعاء الدالة في ابديت راح تشتغل مع عدد الاطارات فمثلاً لو كانت عدد الاطارات 60 في الثانية هنا راح يتم استدعاء الدالة 60 مرة و هذا مكلف، بالنسبة لاستدعاء الدالة في استارت ماراح يكون مكلف لانة سيستدعيها مرة واحدة فقط وهيا الطريقة الانسب.
                  مدونتي Home OF Games تهتم بتطوير الألعاب
                  قناتي
                  YouTube

                  لو كان Internet Explorer شجاعاً لطلب منك ان يكون متصفحك الشخصي, فعليك ان تكون شجاعاً كفاية لتقوم بكل خطوة صعبة
                  .

                  تعليق


                  • #10
                    في update يتم اعادة عمل الكود الذي بداخله دائما
                    أما start فيعمل الكود فقط عند بدأ
                    متلا
                    لو وضعت سكربت في طلقة وكان فيه كود تشغيل الصوت الانفجار في start
                    فسيعمل صوت مرة واحدة عند استدعاء طلقة
                    أما لو كان كود تشغيل الصوت في update فسيبقى الصوت يتكرر بدون توقف
                    للعلم سيتوقف الصوت فقط عند اختفاء الطلقة واذا لم تختفي سيبقى يعمل
                    ----------
                    يمكن ضبط كود داخل update لجعل ما تريد لا يعمل الا مرة واحدة لكن يفضل start لأنه الأسهل
                    start أفضل خيار لتقليل الضغط على بروسيسور

                    قال الله سبحانه وتعالى: (إنَّ اللهَ وملائكَتَهُ يُصَلُّونَ على النَّبي يا أَيُّها الذِّين آمَنوا صَلُّوا عَلَيهِ وَسَلِّمُوا تَسْلِيما ً)


                    تعليق


                    • #11
                      اعذروني يا شباب انتوا فهمتوني غلط انا فاهم الفرق بين الاستارت والابديت مش دي المشكلة خالص

                      الفكرة انه استدعي الكمبوننت في استارت وبعدين كمل باقي الكود في الابديت ودة منطقي لأن دي رصاصة وممكن اضغط الزرار في اي فريم اللي مش منطقي اني اصلا كنت ممكن مستدعيش الكمبوننت في استارت واكتب الكود في ابديت مع اني اقدر مكتبش سطر الاستدعاء اصلا في استارت وفي كلتا الحالات ابديت هتنفز الامر اللي فيها اية السبب بقي
                      ارجو ان تكون الفكرة واضحة
                      سبحان الله وبحمده سبحان الله العظيم


                      من قال سبحان الله وبحمده ( 100 ) مرة في يوم غفرت كل ذنوبه
                      وإن كانت مثل زبد البحر


                      ألا أدلك على كلمة تقولها بدقيقة واحدة فقط تحصل بها على اكثر من ( 100.000.000.000 ) حسنة ( مائة مليار حسنة ) بل أكثر والله يضاعف لمن يشاء فقد قال ارسول صلى الله عليه وسلم في حديثه ( من قال أستغفر الله العظيم التواب الرحيم لذنبي وللمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات إلى يوم الدين كتب له بكل مؤمن ومؤمنة حسنة )


                      مدونتي

                      تعليق


                      • #12
                        ممكن تضع الكود الأخر الي تتكلم عليه ؟

                        تعليق


                        • #13
                          حسب ما فهمت من كلامك تقدر تستعدي كمبوننت بدون استعمال كود get.componant
                          في طريقة أنك بدون ما تستدعيه تقدر تشير عليه بالTag أو name

                          قال الله سبحانه وتعالى: (إنَّ اللهَ وملائكَتَهُ يُصَلُّونَ على النَّبي يا أَيُّها الذِّين آمَنوا صَلُّوا عَلَيهِ وَسَلِّمُوا تَسْلِيما ً)


                          تعليق


                          • #14
                            الجواب البسيط
                            هذي الخطوة مالها اي معنئ او فائده وليست مجبور بان تستعملها ...هو فسر الماء بالماء

                            ....................
                            الجواب الاخر .......اتمنئ لم اكتبه لك هو
                            في حالة لم يتم تعين رجد بودي للشوتر في هذا السكربت سوف يظهر خطا مباشره بالسكربت اللذي وضعته عند التشغيل
                            وفي حالة انك ازلت السطر الدالة ستارتر ثم لم تعين رجد بودي للشوتر لن يظهر هنالك خطا الا اذا ضغط علا زر اطلاق النار
                            لا اله الا الله واشهد ان محمد رسول الله
                            اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                            وتفتك باعدائك اعداء الدين

                            تعليق


                            • #15
                              المشاركة الأصلية بواسطة akamaro5 مشاهدة المشاركة
                              ممكن تضع الكود الأخر الي تتكلم عليه ؟
                              معلش اخي اكامرو لاني مش علي الجهاز ممكن لما اوصل البيت احط الكود
                              المشاركة الأصلية بواسطة Mhamd0 مشاهدة المشاركة
                              حسب ما فهمت من كلامك تقدر تستعدي كمبوننت بدون استعمال كود get.componant
                              في طريقة أنك بدون ما تستدعيه تقدر تشير عليه بالTag أو name
                              تمام يا محمد هو دة اللي أقصدة انا كدة كدة معرفة بالاسم فبستدعية عادي من غير ما استدعية بجيت كمبوننت
                              المشاركة الأصلية بواسطة المناهل مشاهدة المشاركة
                              الجواب البسيط
                              هذي الخطوة مالها اي معنئ او فائده وليست مجبور بان تستعملها ...هو فسر الماء بالماء

                              ....................
                              الجواب الاخر .......اتمنئ لم اكتبه لك هو
                              في حالة لم يتم تعين رجد بودي للشوتر في هذا السكربت سوف يظهر خطا مباشره بالسكربت اللذي وضعته عند التشغيل
                              وفي حالة انك ازلت السطر الدالة ستارتر ثم لم تعين رجد بودي للشوتر لن يظهر هنالك خطا الا اذا ضغط علا زر اطلاق النار
                              تمام يا المناهل هو دة اللي كنت أقصدة هو كتب سطر زيادة ف استارت ملوش اي لزمة كان ممكن يستغني عنه

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


                              من قال سبحان الله وبحمده ( 100 ) مرة في يوم غفرت كل ذنوبه
                              وإن كانت مثل زبد البحر


                              ألا أدلك على كلمة تقولها بدقيقة واحدة فقط تحصل بها على اكثر من ( 100.000.000.000 ) حسنة ( مائة مليار حسنة ) بل أكثر والله يضاعف لمن يشاء فقد قال ارسول صلى الله عليه وسلم في حديثه ( من قال أستغفر الله العظيم التواب الرحيم لذنبي وللمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات إلى يوم الدين كتب له بكل مؤمن ومؤمنة حسنة )


                              مدونتي

                              تعليق

                              يعمل...
                              X