المشاركة الأصلية بواسطة 3D-Design
مشاهدة المشاركة
إعـــــــلان
تقليص
لا يوجد إعلان حتى الآن.
:: دردشة مطوريين الالعاب Game Design Chit Chat ::
تقليص
X
-
شباب عندي سؤال
أنا لما أخلص من تصميم لعبتي الجبارة
بضغط على Build وكل اشي تمام
بس أنا لما أبدأ اللعبة بتجيني قائمة أختار فيها الخصائص اللعبة
أنا بديش تجي هادي القائمة
ياريت الحل لو سمحتم
وشكراأستغفر الله العظيم وأتوب إليه
أستغفر الله العظيم وأتوب إليه
أستغفر الله العظيم وأتوب إليه
تعليق
-
المشاركة الأصلية بواسطة 3D-Design مشاهدة المشاركةشباب عندي سؤال
أنا لما أخلص من تصميم لعبتي الجبارة
بضغط على Build وكل اشي تمام
بس أنا لما أبدأ اللعبة بتجيني قائمة أختار فيها الخصائص اللعبة
أنا بديش تجي هادي القائمة
ياريت الحل لو سمحتم
وشكراM HAMMAD
M.A.Moniem
الله--سبحان الله وبحمده سبحان الله العظيم--المستعانقال الأنيمتور المناضل منعم كامل :لو لم أكن أنيمتور لوددت أن أكون أنيمتور
تعليق
-
المشاركة الأصلية بواسطة MN3M مشاهدة المشاركةالغيها من ال player settings
ياريت تشرح أكثرأستغفر الله العظيم وأتوب إليه
أستغفر الله العظيم وأتوب إليه
أستغفر الله العظيم وأتوب إليه
تعليق
-
المشاركة الأصلية بواسطة MrMHA مشاهدة المشاركةادخل بالدورة الخاصة باليونتي وهذا هو الرابط :http://www.maxforums.net/showthread.php?t=217899
أنا أعرف هذه الدورة وقد شاهدت جميع الدروسأستغفر الله العظيم وأتوب إليه
أستغفر الله العظيم وأتوب إليه
أستغفر الله العظيم وأتوب إليه
تعليق
-
المشاركة الأصلية بواسطة ProToN مشاهدة المشاركةالعضو matrixnic فكرته هتنفعك فيما تريد ولكن انا بس هوضح ازاى بتتعمل عشان حسيت من ردودك انك لسه جديد فى المحرك .
اولا : انت هتعمل الاربع تلال وفوق كل تل 3d text تستطيع انشاءه من قائمة GameObject .
ثانيا تسمى التكست الاول 1 والثانى 2 والثالث 3 والرابع 4 .
ثالثا : تضع هذا الكود على الكاميرا واذا احتجت اى استفسار فيه اسال وانا ان شاء الله هشرحلك .
كود:var target : Transform ; var nextTextNo : int = 1 ; var posX : float ; var posY : float ; var posZ : float ; var levelName : String ; var smoothTime : float = 0.08; var Vel : float ; function Start () { levelName = "1"; } function LateUpdate () { target = GameObject.Find(levelName).GetComponent(Transform); posX = Mathf.SmoothDamp(transform.position.x , target.position.x,Vel,smoothTime); posY = Mathf.SmoothDamp(transform.position.y , target.position.y,Vel,smoothTime); posZ = Mathf.SmoothDamp(transform.position.z , target.position.z - 10,Vel,smoothTime); this.transform.position = new Vector3(posX,posY,posZ ); if(Input.GetAxis("Mouse ScrollWheel") > 0) { levelName = ""; nextTextNo +=1; if(nextTextNo > 4) nextTextNo = 1; levelName += nextTextNo; } if(Input.GetAxis("Mouse ScrollWheel") < 0) { levelName = ""; nextTextNo -=1; if(nextTextNo < 1) nextTextNo = 4; levelName += nextTextNo; } }
ملحوظة : يعتبر هذا السكربت غير عملى من ناحية الاداء يعنى لو هتعمل لعبة كبيرة متعددة السكربتات وما الى ذلك فلن يناسبك هذا السكربت كثيرا لانه سيسبب بطىء فى الاداء البرمجى.
الملحوظة الاخيرة : انا لسه كاتب السكربت ده وجربته يعنى ان شاء الله مفهوش اى مشاكل برمجية .اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
وتفتك باعدائك اعداء الدين
تعليق
-
المشاركة الأصلية بواسطة لا اعلم مشاهدة المشاركةعمل ممتاز اخي بارك الله فيك والسكربت فكرته حلوه وبرمجته ممتازه الف شكر لك
ملحوظة بس صغيرة فى السكربت يا mrhma ياريت تغير اسم المتغير levelName الى اسم يعبر عن محتواه لانى انا نسيت اغيره هو مفهوش خطأ برمجى لكن الصح انى المتغير يعبر عن مضمونه وده معلومة هتفيدك بعد كده فى المستقبل اما تسيب مثلا سكربت فترة وترجعله تانى تبقى قادر على تذكره اسرع او اما تدى السكربت ده لحد اخر يقدر يفهمه اسرع .
بالنسبة للشرح فهو كالتالى ( ملحوظة : انا فاشل شوية فى الشرح بس هحاول على بركة الله )
اولا : اول سطر فيه تعريف لمتغير من نوع Transform اى انه سيحمل كومبونت Transform الخاص بالهدف الذى ستتجه اليه الكاميرا فى كل مرة.
ثانى سطر فيه تعريف لمتغير من نوع int اى يحمل ارقام صحيحة وده مسئول عن معرفة رقم الهدف التالى يعنى لو لاحظت انا قولتلك سمى كل جيم اوبجكت برقم من اول 1 الى 4 فهذا المتغير المفروض سيحمل رقم الهدف وطبعا فى داخل الكود هنحصر قيمة بين 1 و 4 .
ثالث سطر فيه تعريف لمتغير من نوع float اى انه يحمل ارقام عشرية وصحيحة وده مسئول عن حفظ موقع الهدف على المحور x .
رابع سطر نفس اللى قبله بس الفرق انه هيحمل موقع الهدف على المحور y.
خامس سطر نفس اللى قبله برده بس هيحمل موقع الهدف على المحور z.
سادس سطر فيه لمتغير من نوع نصى هيحمل اسم الهدف وانا خليت اسماء التكست على هيئة ارقام عشان اسهل الامر وهتعرف ازاى بعد كده.
سابع سطر وثامن سطر دول متغير خاصين بالدالة smoothdamp وهتعرف فايدتهم فى الكود بعد كده.
كده خلصت شرح المتغيرات . نجى على الجد بقى ....
اول حاجة دالة start ده هنعين فيها قيمة للمتغير النصى الذى يحمل اسم الهدف وهنا هنخليها 1 فى الاول عشان يتجه للتكست الاول علطول فى بداية تشغل اللعبة .
ثانى حاجة دالة Update :
اول سطر فيها مسئوليته يعين قيمة للمتغير target اللى هو يحمل الهدف الذى سنتوجه اليه وهنا هنستخدم الدالة Find واللى موجودة فى GameObject وده عن طريقها بنبحث عن اسم اوبجكت موجود داخل الscene وبعد استعملت GetComponent لكى احضر Transform Component الخاص بالهدف لكى اخزنه داخل متغير الهدف وهنا هتلاحظ انا استعمل المتغير النصى داخل القوسين بتوع البحث عشان انا هنا عايز اى اسم الجيم اوبجكت متغير لانى الهدف متغير حسب مكانى يعنى لو انا عند التلة الاول يبقى هدفى هيبقى التلة الثانية او الرابعة لو انا عند الثالثة مثلا يبقى هدفى الرابعة او الثانية وهكذا .
ثانى سطر بيساوى بيعين قيمة المتغير posx فبيخليها تساوى مكان الهدف على الموقع x ولكن طبعا انا مستغرب ايه الدالة الغريبة اللى استعملت ده وليها نستعملها اساسا .
اولا : سواء كتبت target.transform.position.x علطول او عملت بالدالة ففى الحالتين هيطلع الامر صح .
لكن فى فرق كبير فى الانتقال حيث ان هذه الدالة هتعمل الحركة انسيابية فى الانتقال اما لو كتبت القيمة علطول هتلاقى الكاميرا مرة واخدة ظهرت فى مكان الموقع وده مفهوش واقعية خالص.
نجى بقى لشرح الدالة نفسها اول قيمة منها هو الموقع الحالى فى المحور x وثانى واخد موقع الهدف فى المحور x والثالث متغير مسئول عن السرعة سيبك منه والرابع ده الوقت المتسغرق للانتقال كل ما قل طبعا سرعة الانتقال هتزيد انت عدل فى قيمته من التعريف براحتك .
ثالث سطر زى اللى قبليه بس للمحور y والرابع ايضا نفس الكلام بس للمحور z
رابع سطر ده بنعين فيه الموقع الجديد للكاميرا فنخلى transform.position الخاصة بالكاميرا تساوى المتجه المتكون من الموقع فى x والموقع فى y والموقع فى z .
خامس سطر فيه دالة شرطية ... استخدمت فيه (input.GetAxis(Mouse ScrollWheel وده بتستقبل المدخل الخاص بالبكرة فلو البكرة تحركت لفوق هتبقى قيمتها اكبر من الصفر ولو حركتها لتحت هتبقى قيمتها اصغر من الصفر وده اللى هتحقق منه فى الشرط التالى بس المهم خلينا فى الشرط ده الاول ... ان دلوقتى لو حركت البكرة لفوق هيتحقق الشرط وبكده هينفذ اللى جواه واللى بينص على تزويد العدد الخاص بالتكست(الهدف) رقم واخد صحيح فهيبقى 2 لانى انا عرفته فى الاول ب1 ولو انت حركت البكرة لفوق تانى هيزود 1 تانى هكذا .
والامر الثانى بيخلى المتغير بتاع اسم الهدف فاضى .
سادس سطر عكس الخامس يعنى لو حركت البكرة لاسفل هيطرح 1 من رقم الهدف وهيفضى متغير اسم الهدف تانى .
سابع وثامن سطر بتوع تحديد مجال المتغير بتاع رقم الهدف لانى انا مش عايز رقم الهدف يزيد عن 4 او يقل 1 ولذلك كتبت الشرطين دول .
اخر سطر بعين فيه اسم الهدف وهنا هتلاقى حاجة غريبة شوية انى جمعت متغير عددى على متغير نصى وانا عملت كده هنا عشان مقدرتش استخدم دالة التحويل من عددى الى نصى عشان حصل مشكلة فى سطر تعين الهدف اللى فى الدالة خالص ولذلك لجأت للطريقة ده وهى الجمع وانا عايز اقولك معلومة صغيرة انك لو جمعت متغير عددى على نصى المتغير النصى بيعتبر المتغير الاخر عددى ايضا بيجمعه عن طريق اضافته الى المتغير يعنى لو مثلا اسم الهدف 1 وجمعت عليه المتغير العددى اللى بيساوى 1 هيبقى المتغير النصى قيمته 11 وليس 2 لانه بيتعامل معاه كانه نص وليس عدد .
وطبعا انا قولتلك تخلى اسماء الجيم اوبجكت ارقام عشان الامر ده عشان مضطرش اعرف اكثر من متغير للهدف والخص الامر فى متغير واحد فقط.
اخر شىء اسف على الاطالة فى الشرح واعذرنى لانى لست جيد فى الشرح كثيرا .
تعليق
-
المشاركة الأصلية بواسطة ProToN مشاهدة المشاركةصراحة انا اللى مفروض اشكرك على هذا الاطراء والتشجيع يعنى انا لسه يعتبر مبتدىء فى المحرك او بالاصح تحت المتوسط .
ملحوظة بس صغيرة فى السكربت يا mrhma ياريت تغير اسم المتغير levelName الى اسم يعبر عن محتواه لانى انا نسيت اغيره هو مفهوش خطأ برمجى لكن الصح انى المتغير يعبر عن مضمونه وده معلومة هتفيدك بعد كده فى المستقبل اما تسيب مثلا سكربت فترة وترجعله تانى تبقى قادر على تذكره اسرع او اما تدى السكربت ده لحد اخر يقدر يفهمه اسرع .
بالنسبة للشرح فهو كالتالى ( ملحوظة : انا فاشل شوية فى الشرح بس هحاول على بركة الله )
اولا : اول سطر فيه تعريف لمتغير من نوع Transform اى انه سيحمل كومبونت Transform الخاص بالهدف الذى ستتجه اليه الكاميرا فى كل مرة.
ثانى سطر فيه تعريف لمتغير من نوع int اى يحمل ارقام صحيحة وده مسئول عن معرفة رقم الهدف التالى يعنى لو لاحظت انا قولتلك سمى كل جيم اوبجكت برقم من اول 1 الى 4 فهذا المتغير المفروض سيحمل رقم الهدف وطبعا فى داخل الكود هنحصر قيمة بين 1 و 4 .
ثالث سطر فيه تعريف لمتغير من نوع float اى انه يحمل ارقام عشرية وصحيحة وده مسئول عن حفظ موقع الهدف على المحور x .
رابع سطر نفس اللى قبله بس الفرق انه هيحمل موقع الهدف على المحور y.
خامس سطر نفس اللى قبله برده بس هيحمل موقع الهدف على المحور z.
سادس سطر فيه لمتغير من نوع نصى هيحمل اسم الهدف وانا خليت اسماء التكست على هيئة ارقام عشان اسهل الامر وهتعرف ازاى بعد كده.
سابع سطر وثامن سطر دول متغير خاصين بالدالة smoothdamp وهتعرف فايدتهم فى الكود بعد كده.
كده خلصت شرح المتغيرات . نجى على الجد بقى ....
اول حاجة دالة start ده هنعين فيها قيمة للمتغير النصى الذى يحمل اسم الهدف وهنا هنخليها 1 فى الاول عشان يتجه للتكست الاول علطول فى بداية تشغل اللعبة .
ثانى حاجة دالة Update :
اول سطر فيها مسئوليته يعين قيمة للمتغير target اللى هو يحمل الهدف الذى سنتوجه اليه وهنا هنستخدم الدالة Find واللى موجودة فى GameObject وده عن طريقها بنبحث عن اسم اوبجكت موجود داخل الscene وبعد استعملت GetComponent لكى احضر Transform Component الخاص بالهدف لكى اخزنه داخل متغير الهدف وهنا هتلاحظ انا استعمل المتغير النصى داخل القوسين بتوع البحث عشان انا هنا عايز اى اسم الجيم اوبجكت متغير لانى الهدف متغير حسب مكانى يعنى لو انا عند التلة الاول يبقى هدفى هيبقى التلة الثانية او الرابعة لو انا عند الثالثة مثلا يبقى هدفى الرابعة او الثانية وهكذا .
ثانى سطر بيساوى بيعين قيمة المتغير posx فبيخليها تساوى مكان الهدف على الموقع x ولكن طبعا انا مستغرب ايه الدالة الغريبة اللى استعملت ده وليها نستعملها اساسا .
اولا : سواء كتبت target.transform.position.x علطول او عملت بالدالة ففى الحالتين هيطلع الامر صح .
لكن فى فرق كبير فى الانتقال حيث ان هذه الدالة هتعمل الحركة انسيابية فى الانتقال اما لو كتبت القيمة علطول هتلاقى الكاميرا مرة واخدة ظهرت فى مكان الموقع وده مفهوش واقعية خالص.
نجى بقى لشرح الدالة نفسها اول قيمة منها هو الموقع الحالى فى المحور x وثانى واخد موقع الهدف فى المحور x والثالث متغير مسئول عن السرعة سيبك منه والرابع ده الوقت المتسغرق للانتقال كل ما قل طبعا سرعة الانتقال هتزيد انت عدل فى قيمته من التعريف براحتك .
ثالث سطر زى اللى قبليه بس للمحور y والرابع ايضا نفس الكلام بس للمحور z
رابع سطر ده بنعين فيه الموقع الجديد للكاميرا فنخلى transform.position الخاصة بالكاميرا تساوى المتجه المتكون من الموقع فى x والموقع فى y والموقع فى z .
خامس سطر فيه دالة شرطية ... استخدمت فيه (input.GetAxis(Mouse ScrollWheel وده بتستقبل المدخل الخاص بالبكرة فلو البكرة تحركت لفوق هتبقى قيمتها اكبر من الصفر ولو حركتها لتحت هتبقى قيمتها اصغر من الصفر وده اللى هتحقق منه فى الشرط التالى بس المهم خلينا فى الشرط ده الاول ... ان دلوقتى لو حركت البكرة لفوق هيتحقق الشرط وبكده هينفذ اللى جواه واللى بينص على تزويد العدد الخاص بالتكست(الهدف) رقم واخد صحيح فهيبقى 2 لانى انا عرفته فى الاول ب1 ولو انت حركت البكرة لفوق تانى هيزود 1 تانى هكذا .
والامر الثانى بيخلى المتغير بتاع اسم الهدف فاضى .
سادس سطر عكس الخامس يعنى لو حركت البكرة لاسفل هيطرح 1 من رقم الهدف وهيفضى متغير اسم الهدف تانى .
سابع وثامن سطر بتوع تحديد مجال المتغير بتاع رقم الهدف لانى انا مش عايز رقم الهدف يزيد عن 4 او يقل 1 ولذلك كتبت الشرطين دول .
اخر سطر بعين فيه اسم الهدف وهنا هتلاقى حاجة غريبة شوية انى جمعت متغير عددى على متغير نصى وانا عملت كده هنا عشان مقدرتش استخدم دالة التحويل من عددى الى نصى عشان حصل مشكلة فى سطر تعين الهدف اللى فى الدالة خالص ولذلك لجأت للطريقة ده وهى الجمع وانا عايز اقولك معلومة صغيرة انك لو جمعت متغير عددى على نصى المتغير النصى بيعتبر المتغير الاخر عددى ايضا بيجمعه عن طريق اضافته الى المتغير يعنى لو مثلا اسم الهدف 1 وجمعت عليه المتغير العددى اللى بيساوى 1 هيبقى المتغير النصى قيمته 11 وليس 2 لانه بيتعامل معاه كانه نص وليس عدد .
وطبعا انا قولتلك تخلى اسماء الجيم اوبجكت ارقام عشان الامر ده عشان مضطرش اعرف اكثر من متغير للهدف والخص الامر فى متغير واحد فقط.
اخر شىء اسف على الاطالة فى الشرح واعذرنى لانى لست جيد فى الشرح كثيرا .
؛)
المهم ليش استخدمت اليت ابديت ! كنت اتمنئ اسمع جوابك من الشرح لكنك شرحت علا الابديت ؛)
بهالمنتدئ تعلمنا التنجيم اتوقع انه استخدامك لليت ابديت يوضح انه تم التعديل علي هذا السكربت
لانه يستخدم لجلب او ارسال الداتا بعد تنزيل مرحله او level معين مثل موقع الاعب ؛)
اشرايك بهالتنجيم خخخخخخخخاللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
وتفتك باعدائك اعداء الدين
تعليق
-
اخوي فيصل الناس المشاركه بالزنقه محتاجه توضيح
المفروضًً الي يسجل بتاكو يتفعل عنده خيار مطور الالعاب
وهو حر يستخدمه او لااا
تعقدو الناس بين حسابهم بالمنتدئ وحسابهم كمطوراللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
وتفتك باعدائك اعداء الدين
تعليق
-
احس انه اسم زنقه مقرون بالقدافي واحس انه نطقي لكمة زنقه فيها تشمت واستهزاء وتشفي من القذافي
الحمدالله اللذي عافنا من هذا ولم يجعلنا عبرة لمن لا يعتبراللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
وتفتك باعدائك اعداء الدين
تعليق
-
اخوي مبارك حتى وانت مسجل اعمل تسجيل, بتشوف فيه خيار يحدد لك لو انت مسجل مسبقا او لا و هذا ضروري فلازم تسجل لو ناوي تشارك
المشاركة الأصلية بواسطة لا اعلم مشاهدة المشاركةاحس انه اسم زنقه مقرون بالقدافي واحس انه نطقي لكمة زنقه فيها تشمت واستهزاء وتشفي من القذافي
الحمدالله اللذي عافنا من هذا ولم يجعلنا عبرة لمن لا يعتبر
تعليق
-
اخى لا اعلم هو تنجيمك واقعى فعلا بس الحقيقة انى انا اللى غبى شوية فانا اسف على هذه الغلطة ... انا وضعتها فى الاول وبعدها افتكرت انى ده فى تتبع اللاعب او ما يشابه ذلك وانا مش محتاجها هنا لانى محتاج استنى update تخلص او ما شابه و لكن انا نسيت اغيرها قبل ما انقل عشان كده هتلاقينى بتكلم عن الupdate طول الشرح لانى عامل حسابى انه غيرته .
واسف انى نسيت اشرح -10 عامتا ده عملتها عشان بيبقى فى بعد عن التكتسب فتبقى الكاميرا امامه لانى لو عملت نفس القيمة بالضبط الكاميرا هتبقى فى وسط التكست بالضبط وليه عملتها فى المحور z لانه يمثل البعد او القرب عن الهدف او العمق عامتا لكن فى المحورين الاخرين مش محتاج اعمله لانى انا عايز الكاميرا تبقى فى نفس الموضع الافقى والرأسى للتكست
وشكرا لك على التنبيه يا اخ لا أعلم و يعتبر ده اول مرة اشرح سكربت كامل لحد فاسف على الاخطاء
اخر حاجة ياريت فعلا يغيروا اسم الزنقة اسم يخليك متحبش تشارك فى المسابقة علشانه ومش لازم يعنى تبقى المسابقة نفس اسم المسابقة الاجنبية
تعليق
-
المشاركة الأصلية بواسطة ProToN مشاهدة المشاركةاخى لا اعلم هو تنجيمك واقعى فعلا بس الحقيقة انى انا اللى غبى شوية فانا اسف على هذه الغلطة ... انا وضعتها فى الاول وبعدها افتكرت انى ده فى تتبع اللاعب او ما يشابه ذلك وانا مش محتاجها هنا لانى محتاج استنى update تخلص او ما شابه و لكن انا نسيت اغيرها قبل ما انقل عشان كده هتلاقينى بتكلم عن الupdate طول الشرح لانى عامل حسابى انه غيرته .
واسف انى نسيت اشرح -10 عامتا ده عملتها عشان بيبقى فى بعد عن التكتسب فتبقى الكاميرا امامه لانى لو عملت نفس القيمة بالضبط الكاميرا هتبقى فى وسط التكست بالضبط وليه عملتها فى المحور z لانه يمثل البعد او القرب عن الهدف او العمق عامتا لكن فى المحورين الاخرين مش محتاج اعمله لانى انا عايز الكاميرا تبقى فى نفس الموضع الافقى والرأسى للتكست
وشكرا لك على التنبيه يا اخ لا أعلم و يعتبر ده اول مرة اشرح سكربت كامل لحد فاسف على الاخطاء
اخر حاجة ياريت فعلا يغيروا اسم الزنقة اسم يخليك متحبش تشارك فى المسابقة علشانه ومش لازم يعنى تبقى المسابقة نفس اسم المسابقة الاجنبية
برايي الشرح متعب خاصتن للبرمجه
وبعض الاساله بسيطه لكن جوابها طويل
علشان جذي انا مريح راسي وكل ماسالني عضو اقوله ماعرفاللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
وتفتك باعدائك اعداء الدين
تعليق
تعليق