Unconfigured Ad Widget

تقليص

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

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

اريد شرح سكربت رجوكم.Unity 3D

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

  • اريد شرح سكربت رجوكم.Unity 3D


    var speed : float = 3.0;
    var rotateSpeed : float = 3.0;

    function Update () {
    var controller : CharacterController = GetComponent(CharacterController);

    // Rotate around y - axis
    transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);

    // Move forward / backward
    var forward : Vector3 = transform.TransformDirection(Vector3.forward);
    var curSpeed : float = speed * Input.GetAxis ("Vertical");
    controller.SimpleMove(forward * curSpeed);

  • #2
    15 زائر و لا رد

    تعليق


    • #3
      زى مانت عارف السكربت دى بتخلى الجيم اوجيكت يمشى على محول الـZ الخاص بيه ويلف على محور الـY
      ولازم يكون فيه كومبونينت CharacterController على الجيم اوبجيكت....... ده انت عارفه ..... نيجى للشرح التفصيلى:

      كود:
      var speed : float = 3.0;
      var rotateSpeed : float = 3.0;
      فى السطرين دول بيعرف متغيرين من نوع float عشان يخزن جواهم سرعة الحركة وسرعة الدوران.

      كود:
      function Update () {
      var controller : CharacterController = GetComponent(CharacterController);
      وجوه الـFunction اللى هى Update بيعرف متغير من نوع CharacterController عشان يخزن جواه الـCharacterController الى موجود فى الجيم اوبجيكت اللى هيتحط عليه السكربت دى - خلاه بيساوى الكومبونينت اللى هو CharacterController اللى فى الجيم اوبجيكت - منصحش ان السطر ده يكون فى Update ... لانه هيستهلك بروسيس على الفاضى .... الاحسن تخليه فى Start او Awake.


      كود:
      transform.Rotate(0, Input.GetAxis ("Horizontal"... * rotateSpeed, 0);
      وفى السطر ده بيستخدم فانكشن Rotate عشان يخلى الجيم اوبجيكت يلف على المحور اللى تحدده - اللى هو فى الحالة دى Y - وبيخليه يلف على حسب الـInput اللى هو Horizontal - ولو مش عارفه هتلاقيه فى Edit>Project Settings>Inputs - يعنى لما اللاعب يكون دايس على سهم يمين او سهم شمال او D او A - طبعاً اتجاه الدوران لما يكون دايس سهم شمال عكس اتجاه الدوران لما يكون دايس سهم يمين - وبيضرب الاشارة اللى هتيى من الـInput ده فى المتغير اللى هو rotateSpeed عشان يقدر يتحكم فى سرعة دورانه.


      كود:
      var forward : Vector3 = transform.TransformDirection(Vector3.forward);
      وفى السطر ده بيعمل متغير من نوع Vector3 وبيساويه باتجاه الحركة الخاص بالجيم اوبجيكت .. اللى هو ادام .... لانه عايز يحركه على محور الـZ اللى هو forward .... فاستخدم Vector3.forward بس دى مش كفاية لأنها بتبقى Global فهو عايز يخليها على حسب الـforward الخاص بالجيم اوبجيكت نفسه .. فاستخدم الفانكشن اللى هى TransformDirection.

      كود:
      var curSpeed : float = speed * Input.GetAxis ("Vertical"...;
      وهنا عمل متغير تانى من نوع float عشان يخزن جواه سرعة الحركة ...... وهو هنا خلى سرعة الحركة تساوى الـInput اللى هو Vertical - سهم فوق و سهم تحت و W و S - وضربه فى speed عشان يتحكم فى السرعة من خلالها.

      كود:
      controller.SimpleMove(forward * curSpeed);
      واخر حاجة استخدم SimpleMove للـCharacterController عشان يخليه يتحرك ... وخلى الـVector3 اللى هيحركه هو الـforward مضروب فى السرعة اللى جبها.

      بس كدة.

      ملك إنحصر وجوده فى مملكة خياله

      تعليق


      • #4
        اولا الاسكربت دة سهل جدا ولو انتا موش فهمو يبقى انتا موش متعلم برمجة من الاساس عشان كدا الناس مردتش عليك ولاكن على العموم الشرح اهو

        كود:
        var speed : float = 3.0;
        var rotateSpeed : float = 3.0;
        دول متغيرات السرعة الاول لسرعة المشى والثانى لسرعة الالتفاف

        كود:
        function Update () 
        {
        	var controller : CharacterController = GetComponent(CharacterController);
        
        	transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);
        
        	var forward : Vector3 = transform.TransformDirection(Vector3.forward);
        	var curSpeed : float = speed * Input.GetAxis ("Vertical");
        
        	controller.SimpleMove(forward * curSpeed);
        }
        دى دالة جاهذة فى اليونتى تعتبر الثريد الرئيسى للعبة كلها

        اول سطر بيعرف ال CharacterController ودة كونبوننت انتا بتحطو بنفسك من اليونتى على الاوبجكت الى هتحط علية الاسكربت دة

        السطر الثانى دى دالة جاهذة فى اليونتى بتحدد الدوران من الاوبجكت وبتغيل المحور Y دى عملية ناتجها موجب او سالب عشان تعرف تتحرك يمين وشمال

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

        ارجو انى عرفت اشرح كويس

        وشكرا
        -:| My Games |:-
        AfterEarth Online SOON

        -:| Contact Us |:-
        Facebook Page :- NTStudio

        تعليق


        • #5
          اسف موش بعرف اشرح انظر لشرح الاخ Shiny Arrow احسن
          -:| My Games |:-
          AfterEarth Online SOON

          -:| Contact Us |:-
          Facebook Page :- NTStudio

          تعليق


          • #6
            المشاركة الأصلية بواسطة NTSoft مشاهدة المشاركة
            اولا الاسكربت دة سهل جدا ولو انتا موش فهمو يبقى انتا موش متعلم برمجة من الاساس عشان كدا الناس مردتش عليك ولاكن على العموم الشرح اهو

            ردك مش قاسى شوية؟

            ملك إنحصر وجوده فى مملكة خياله

            تعليق


            • #7
              المشاركة الأصلية بواسطة DJ Jason مشاهدة المشاركة

              var speed : float = 3.0;
              var rotateSpeed : float = 3.0;

              function Update () {
              var controller : CharacterController = GetComponent(CharacterController);

              // Rotate around y - axis
              transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);

              // Move forward / backward
              var forward : Vector3 = transform.TransformDirection(Vector3.forward);
              var curSpeed : float = speed * Input.GetAxis ("Vertical");
              controller.SimpleMove(forward * curSpeed);
              هو في الحقيقة السكربت واضح وهو للحركة إلى الخلف والامام والدوران
              وهو سكربت جاهز إن لم أكن مخطئ
              إليك شرحه:
              أولا قام بتعريف متغيرات الأول speed وهو لسرعة التحرك
              والآخر rotatespeed لسرعة الدوران وحدد قيمتيهما
              ثم في دالة function Update
              وهذه الدالة تستعمل لتنفيذ الأوامر التي بداخلها في كل فريم من فريمات اللعبة
              قام بتعريف نوع التحكم بالكركتر كنترولر للمجسم الذي سيتحرك
              عن طريق السطر
              var controller : CharacterController = GetComponent(CharacterController);
              ثم
              قام بعمل كود الدوران للمجسم
              كالتالي
              transform.Rotate(0, Input.GetAxis ("Horizontal"... * rotateSpeed, 0);
              قام بوضع النص الأحمر في المحور y للدوران في متحكم الدوران للجسم
              والكود يقوم بضرب قيمة المتغير rotatespeed في الهوريزنتل (Horizontal) والذي هو الأزرار ( <- -> ) يعني عند الضغط على الزر ستضاف قيمة المتغير rotatespeed إلى محور الدوران y للمجسم
              والكود الذي بعده يخلي المجسم يتحرك للإمام والخلف
              لكن لن أستطيع شرحه جيدا لك لعدم فهمي بعض الأمور فيه
              موفق أخي أتمنا أكون أفدتك
              イブラヒムです
              Baaaaaaaaak

              تعليق


              • #8
                المشاركة الأصلية بواسطة Shiny Arrow مشاهدة المشاركة
                ردك مش قاسى شوية؟
                منا عارف
                بس انا حبيت اقولو لية الناس مردتش علية

                والاسكربت شارح نفسو

                معلش محدش يزعل منى انا مكنش قصدى حاجة وحشة
                -:| My Games |:-
                AfterEarth Online SOON

                -:| Contact Us |:-
                Facebook Page :- NTStudio

                تعليق


                • #9
                  شكرا لكم كلكم

                  تعليق


                  • #10
                    اخي الاستاذ زياد
                    شرحك حقا رائع
                    ولكن شرح TransformDirection لم افهمه تماما
                    كنت ابحث عن شرح له
                    ممكن تشرحلي اكثر ؟؟
                    FaceBook
                    Here

                    Ask Me
                    Here
                    My Channel In Youtube
                    Here

                    ____________________________________________

                    لكي تعيش عليك ان تتقن فن التجاهل باحتراف

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة DJ Jason مشاهدة المشاركة
                      شكرا لكم كلكم
                      الله يعطكم العافيه
                      اخي العزيز هذه فرصة انك تسال وتتعلم
                      قليل جدا بالمنتدى تجد احد يشرح لك كود
                      واذا في شي مو فاهمه اسال
                      شوف الاخ سال عن كود ترانسفورم دايركشن
                      واتوقع انك ايضا لا تعرف وظيفته
                      اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
                      وتفتك باعدائك اعداء الدين


                      تعليق

                      يعمل...
                      X