﻿1
00:00:04,500 --> 00:00:05,580
‫أهلا ومرحبا.

2
00:00:05,580 --> 00:00:12,360
‫في هذه المحاضرة ، سنضيف متغيرات إلى ممثل النظام الأساسي المتحرك لدينا حتى نتمكن

3
00:00:12,360 --> 00:00:16,560
‫من رؤيتها في المحرر وسنقوم بذلك بالكامل في C ++.

4
00:00:16,560 --> 00:00:17,790
‫دعنا نتعمق.

5
00:00:18,360 --> 00:00:23,640
‫لذا فإن المفهوم الأول الذي سنتعلمه في C ++ هو كيفية إنشاء المتغيرات.

6
00:00:23,640 --> 00:00:25,890
‫لقد رأيناهم من قبل في مخطط.

7
00:00:25,890 --> 00:00:30,090
‫نحن نعلم أنها مثل الصناديق التي يمكننا وضع القيم فيها وأن لها أنواعًا.

8
00:00:30,240 --> 00:00:34,890
‫حسنًا ، كل ذلك لا يزال ينطبق في C ++ ، باستثناء كيفية إنشائها.

9
00:00:34,890 --> 00:00:39,810
‫لذلك في السابق ، عندما فعلنا ذلك في مخطط Blueprint ، إذا ذهبت وفتحت مخططًا للمستوى فقط

10
00:00:39,810 --> 00:00:45,150
‫لإظهاره لك وتحديث ذاكرتك ، فقد حصلنا على هذا ، جزء المخطط الخاص بي ، وكان هذا هو المكان الذي أضفنا

11
00:00:45,150 --> 00:00:48,300
‫فيه أشياء مثل الوظائف والمتغيرات وهكذا على.

12
00:00:48,300 --> 00:00:51,510
‫ثم كان لدينا الرسم البياني للحدث حيث نقوم بالفعل ببرمجة الأشياء فيه.

13
00:00:51,510 --> 00:00:53,970
‫الآن C ++ متشابهة جدًا.

14
00:00:53,970 --> 00:01:00,270
‫لدينا موقعان مختلفان للقيام بتكوين المتغيرات والوظائف الخاصة بنا ثم عندما

15
00:01:00,270 --> 00:01:02,190
‫نقوم بالفعل بالتنفيذ.

16
00:01:02,190 --> 00:01:07,500
‫لذلك دعنا ننتقل إلى التعليمات البرمجية لـ Visual Studio ونفتح مشروع Visual Studio Code ونلقي نظرة.

17
00:01:07,500 --> 00:01:10,650
‫يوجد في الشريط الأيسر علامة تبويب Explorer.

18
00:01:10,650 --> 00:01:16,710
‫اذهب وافتح ذلك ويمكنك أن ترى بشكل أساسي خريطة هرمية لملفاتك.

19
00:01:16,710 --> 00:01:22,800
‫إذاً لدينا المستوى الخامس الأعلى و Obstacle Assault أو مشروعنا الخاص هنا ، يمكنك فتح ذلك ويمكنك

20
00:01:22,800 --> 00:01:24,300
‫رؤية بعض المجلدات هنا.

21
00:01:24,300 --> 00:01:28,410
‫الملف الذي نهتم به هو المجلد المصدر ، حيث يمكننا العثور على جميع C ++ الخاصة بنا.

22
00:01:28,410 --> 00:01:35,340
‫ثم هناك مجلد هجوم العوائق ثم هناك ملفان باسم النظام الأساسي المتحرك.

23
00:01:35,340 --> 00:01:44,250
‫أحدهما عبارة عن ملف نقطي والآخر في DOT CP ، يرمز DOT إلى Header و CP وهو يرمز إلى C ++.

24
00:01:44,250 --> 00:01:52,170
‫إذن ، هذا يشبه إلى حد ما وجود المخططات الخاصة بي حيث يمكنك إضافة الوظائف والمتغيرات والأشياء الموجودة

25
00:01:52,170 --> 00:01:58,710
‫في ملف الرأس ، ملف FF ، ثم لدينا النقطة CP حيث يمكننا في الواقع أن نحب الرسم البياني

26
00:01:58,710 --> 00:02:03,060
‫للحدث ، يمكننا في الواقع عمل الترميز نفسه.

27
00:02:03,330 --> 00:02:06,600
‫لذلك سنقوم بفتح المنصة المتحركة.

28
00:02:06,840 --> 00:02:12,300
‫H لأننا نريد إضافة متغير جديد وستلاحظ وجود مجموعة كاملة من العناصر هنا.

29
00:02:12,300 --> 00:02:18,180
‫لن ندخل في تفاصيل هذا ، ولكن الأمر الأكثر إثارة للاهتمام هو أنه يحدد ما

30
00:02:18,180 --> 00:02:20,910
‫يعنيه أن تكون فئة منصة متحركة.

31
00:02:20,910 --> 00:02:23,370
‫يمكنك رؤية بضع كلمات رئيسية هنا مثيرة للاهتمام.

32
00:02:23,370 --> 00:02:25,290
‫هناك كلمة أساسية للفصل في السطر العاشر.

33
00:02:25,290 --> 00:02:32,160
‫هناك منصات متحركة مسبوقة بحرف A ، مما يعني أنه ممثل ، ثم هناك بعض

34
00:02:32,160 --> 00:02:36,270
‫الأقواس المتعرجة في السطر 11 و 26.

35
00:02:36,270 --> 00:02:42,540
‫وبين هذه الأقواس المتعرجة المتطابقة ، يمكنك أن ترى أن هناك إعلانًا عن بعض الأشياء.

36
00:02:42,540 --> 00:02:46,200
‫توجد وظائف هنا وهنا يمكننا أيضًا وضع متغيراتنا.

37
00:02:46,440 --> 00:02:49,680
‫إذن سنضيف المتغيرات في نهاية هذا التصريح.

38
00:02:49,680 --> 00:02:57,030
‫لذا قبل أن نغلق هذا القوس المتعرج ، يمكننا إضافة بعض الأسطر الجديدة والبدء في كتابة المتغيرات الجديدة

39
00:02:57,030 --> 00:02:57,810
‫هنا.

40
00:02:58,140 --> 00:03:02,970
‫ومثلما هو الحال في المتغير في المخطط ، لدينا نوع ولدينا اسم متغير ويمكننا أيضًا

41
00:03:02,970 --> 00:03:04,440
‫إعطائه قيمة افتراضية.

42
00:03:04,620 --> 00:03:13,530
‫لذا فإن أول شيء هو أننا ربما نريد إنشاء عدد صحيح وفي C ++ ، في Unreal C ++ ، يتم الإشارة إلى عدد صحيح بالكلمة

43
00:03:13,530 --> 00:03:20,550
‫الأساسية INT 32 تخبرنا أساسًا عن حجم القيمة التي يمكننا تخزينها هنا.

44
00:03:20,550 --> 00:03:22,500
‫ولا ، ليس 32.

45
00:03:22,530 --> 00:03:23,820
‫إنه أكبر بكثير من ذلك بكثير.

46
00:03:23,820 --> 00:03:28,620
‫32 هو عدد البتات المخصصة لعدد صحيح.

47
00:03:28,650 --> 00:03:33,750
‫الآن علينا البحث عن اسم متغير ومثل الفئات ، لا يمكن أن يكون لدينا مسافات في أسماء المتغيرات الخاصة

48
00:03:33,750 --> 00:03:34,200
‫بنا.

49
00:03:34,200 --> 00:03:38,670
‫لذلك ، بدلاً من ذلك ، نستخدم الأحرف الكبيرة للإشارة إلى كلماتنا.

50
00:03:38,670 --> 00:03:41,520
‫لذلك سأسميها ملاحظة int الخاصة بي.

51
00:03:41,520 --> 00:03:44,520
‫أنا أستغل كلتا بدايات هذه الكلمات بالأحرف الكبيرة.

52
00:03:44,520 --> 00:03:50,730
‫بعد ذلك يمكنني إعطائها قيمة افتراضية ونفعل ذلك بعلامة يساوي حتى يكون لدينا يساوي ، ومن ثم

53
00:03:50,730 --> 00:03:53,970
‫يمكننا إعطائها قيمة مثل 99 ، على سبيل المثال.

54
00:03:54,150 --> 00:03:59,880
‫لاحظ الآن أنني أضع مسافات بعد علامة التساوي الخاصة بي وقبل علامة التساوي.

55
00:03:59,880 --> 00:04:04,140
‫هذا ليس ضروريًا تمامًا في الواقع ، ولكنه يجعل القراءة أسهل وأجمل.

56
00:04:04,140 --> 00:04:05,760
‫لذلك أقوم بتضمين ذلك.

57
00:04:05,760 --> 00:04:11,070
‫الآن من الواضح أنك بحاجة إلى مسافة بين 32 والاسم الفعلي للعدد الصحيح.

58
00:04:11,070 --> 00:04:12,690
‫بدون ذلك ، لا تعمل الأشياء.

59
00:04:12,960 --> 00:04:18,210
‫ثم لإنهاء هذا الإعلان ، تحتاج إلى وضع فاصلة منقوطة في نهاية السطر

60
00:04:18,240 --> 00:04:20,520
‫لإخبار C ++ أنك قد انتهيت.

61
00:04:20,520 --> 00:04:26,010
‫حقيقة وجود أسطر جديدة ووجود مسافات وعلامات تبويب ، كل هذا لا يهم في الواقع

62
00:04:26,010 --> 00:04:26,790
‫لـ C ++.

63
00:04:26,790 --> 00:04:30,360
‫يمكنك تشغيل كل هذه الأشياء معًا وسيظل هذا هو نفسه.

64
00:04:30,360 --> 00:04:34,230
‫يمكنني إزالة المساحات هنا التي لا تزال تعمل بشكل جيد.

65
00:04:34,230 --> 00:04:38,040
‫بقدر ما يتعلق الأمر بـ C ++ ، فإن هذا كله صالح تمامًا لـ C ++.

66
00:04:38,040 --> 00:04:40,590
‫إنه أمر مروع حقًا ، ومن المروع أن تقرأه.

67
00:04:40,800 --> 00:04:46,350
‫إذن ما نفعله هو الحفاظ على هذا المستوى من المسافة البادئة بعلامة تبويب ونحافظ على هذا المستوى من التباعد

68
00:04:46,350 --> 00:04:48,000
‫أيضًا من أجل سلامة عقلنا.

69
00:04:48,450 --> 00:04:52,380
‫الآن هذا غير مرئي حاليًا في محرر المخطط.

70
00:04:52,380 --> 00:04:57,540
‫لجعله مرئيًا ، نحتاج إلى إعطاء القليل من الرؤوس لـ Unreal أن هناك متغيرًا يجب

71
00:04:57,540 --> 00:04:58,410
‫أن يعرضه.

72
00:04:58,410 --> 00:05:03,770
‫الطريقة التي نفعل بها ذلك هي في السطر السابق نكتب لك الخاصية جميع الأحرف الكبيرة.

73
00:05:04,330 --> 00:05:11,170
‫ثم افتح الأقواس ثم استخدم ما يسمى بحالة الجمل ، حيث نكتب الحرف الأول من كل

74
00:05:11,170 --> 00:05:17,460
‫كلمة بالأحرف الكبيرة ونكتبها في أي مكان مثل ذلك ، ثم نغلق الأقواس.

75
00:05:17,470 --> 00:05:19,420
‫لا حاجة لفاصلة منقوطة في نهاية هذا السطر.

76
00:05:19,420 --> 00:05:26,050
‫هذا ليس صحيحًا ، لأنه في الواقع جزء من نفس التصريح مثل العدد الصحيح في الأسفل على السطر

77
00:05:26,050 --> 00:05:26,770
‫أدناه.

78
00:05:27,160 --> 00:05:32,470
‫لكننا نضعهم في سطور منفصلة فقط لنجعل حياتنا أسهل لقراءة هذا.

79
00:05:32,470 --> 00:05:39,100
‫إذن لدينا خاصية تحرير أي مكان في 30 إلى int ثم علامة يساوي ثم 99.

80
00:05:39,100 --> 00:05:42,790
‫ومن المهم أن تقوم بحفظ ملفاتك هنا افتراضيًا.

81
00:05:42,790 --> 00:05:44,980
‫تحتاج إلى الضغط على السيطرة للقيام بذلك.

82
00:05:45,100 --> 00:05:51,160
‫إذا انتقلت إلى قائمة الملفات ، فيمكنك الضغط على الحفظ التلقائي هنا كخيار حتى لا تضطر إلى الضغط على حفظ في كل مرة

83
00:05:51,160 --> 00:05:52,660
‫تقوم فيها بتغيير الأشياء.

84
00:05:52,750 --> 00:05:53,890
‫الآن هذا ما أفعله.

85
00:05:53,890 --> 00:06:00,190
‫وبهذا ، يمكننا المضي قدمًا وإغلاق المحرر ، وإعادة تجميعه وإعادة فتحه ، وسيكون لدينا

86
00:06:00,190 --> 00:06:03,100
‫متغير جديد على منصتنا المتحركة.

87
00:06:03,100 --> 00:06:08,560
‫ممثل لكن هذا مؤلم قليلاً إذا اضطررنا إلى إغلاق المحرر في كل مرة أجرينا فيها تغييرًا في الكود.

88
00:06:08,560 --> 00:06:12,160
‫لذلك هناك ميزة في Unreal تسمى Live Coding.

89
00:06:12,160 --> 00:06:18,130
‫سأذهب فقط وأغلق مخطط المستوى وأظهر لك أن هناك زرًا لأسفل في أسفل اليمين يبدو

90
00:06:18,130 --> 00:06:21,970
‫وكأنه مجموعة من المكعبات تتحلل في المسافة.

91
00:06:21,970 --> 00:06:27,790
‫إذا قمت بالمرور فوقها ، فستظهر لك إعادة ترجمة رمز C ++ وإعادة تحميله للألعاب

92
00:06:27,790 --> 00:06:36,340
‫أثناء التنقل ، انقر فوق هذا الزر وستظهر محطة مع سجل الرسائل التي هي نتيجة تجميع التعليمات البرمجية الخاصة بك.

93
00:06:36,730 --> 00:06:41,380
‫الآن ، سيعمل هذا أسرع بكثير مما كان عليه في السابق لأنه ليس المرة الأولى التي يتم

94
00:06:41,470 --> 00:06:46,210
‫تشغيله فيها ، وعندما يكتمل ، سوف يعطيك إشعارًا يفيد بأن الترميز المباشر قد نجح.

95
00:06:46,450 --> 00:06:53,650
‫من المهم الآن أنه إذا لم ينجح الترميز المباشر ، فقم بنسخ نتائج السجل التي تأتي قبل الخطأ ونشرها في الأسئلة

96
00:06:53,650 --> 00:06:59,530
‫والأجوبة إذا كنت بحاجة إلى طلب المساعدة ، ولكن أيضًا تحقق مرة أخرى وتأكد من أن بناء

97
00:06:59,530 --> 00:07:03,340
‫الجملة الخاص بك يطابق ما كتبته على الشاشة.

98
00:07:03,520 --> 00:07:09,910
‫في كثير من الأحيان ، سنجد أنه مجرد خطأ مطبعي ارتكبه الأشخاص ولا يتم تجميعه بسبب

99
00:07:09,910 --> 00:07:10,630
‫ذلك.

100
00:07:10,630 --> 00:07:18,550
‫انتبه جيدًا إلى الكتابة بالأحرف الكبيرة لأن الكتابة بالأحرف الكبيرة غالبًا ما تكون مهمة جدًا وكذلك الفاصلة المنقوطة.

101
00:07:18,550 --> 00:07:20,950
‫غالبًا ما ينسى الناس تضمين هؤلاء.

102
00:07:21,100 --> 00:07:26,200
‫لذا أود الآن أن أتحداك لإضافة المتغير الخاص بك على سطر جديد في ملف الرأس هذا.

103
00:07:26,200 --> 00:07:30,190
‫لذا اجعله نوعًا عائمًا أو ثورًا واعطيه اسمًا مختلفًا.

104
00:07:30,190 --> 00:07:32,020
‫لا يمكن أن تشترك المتغيرات في نفس الاسم.

105
00:07:32,020 --> 00:07:33,100
‫يجب أن يكونوا مختلفين.

106
00:07:33,340 --> 00:07:34,990
‫أعطها قيمة افتراضية.

107
00:07:34,990 --> 00:07:38,050
‫لذلك إذا كانت قيمة عائمة ، فيجب أن تكون القيمة الافتراضية بالتنسيق.

108
00:07:38,050 --> 00:07:39,970
‫نقطة شيء ، شيء ما ، شيء ما.

109
00:07:39,970 --> 00:07:47,560
‫إذا كان الأمر منطقيًا ، فيجب أن يكون صحيحًا أو خاطئًا ، كل إعادة تجميع الأحرف الصغيرة باستخدام الترميز المباشر ومن ثم معرفة

110
00:07:47,560 --> 00:07:53,860
‫ما إذا كنت قد حصلت على أي أخطاء وإذا كنت قد عدت وشاهد كيف أفعل ذلك للتحقق مرة أخرى من أنك قمت بكتابته بشكل

111
00:07:53,860 --> 00:07:55,210
‫صحيح طريق.

112
00:07:55,300 --> 00:07:57,250
‫وقفة الفيديو وانطلق.

113
00:08:00,500 --> 00:08:00,890
‫تمام.

114
00:08:00,890 --> 00:08:01,790
‫مرحبًا بعودتك.

115
00:08:02,060 --> 00:08:06,440
‫لذا دعنا نعود إلى كود Visual Studio وسنضيف متغيرًا.

116
00:08:06,440 --> 00:08:09,470
‫لذا أولاً وقبل كل شيء ، سنجعلها خاصية جديدة.

117
00:08:09,470 --> 00:08:13,400
‫إنه فتح الأقواس وتعديل أي مكان وإغلاق الأقواس.

118
00:08:13,400 --> 00:08:19,670
‫ثم في سطر جديد ، سأجعله نوعًا عائمًا وسنطلق عليه اسم تعويمي فقط لمواكبة

119
00:08:19,670 --> 00:08:21,530
‫التقليد هنا.

120
00:08:21,620 --> 00:08:27,320
‫وسنمنحه القيمة الافتراضية 5. 99 ثم ضع فاصلة منقوطة في نهاية السطر

121
00:08:27,320 --> 00:08:31,420
‫، وتأكد من أن لديك جميع مكونات ما كتبته للتو هنا.

122
00:08:32,060 --> 00:08:34,130
‫ثم سأضيف المزيد من المساحات.

123
00:08:34,130 --> 00:08:36,980
‫لاحظ أنني أقوم بإضافة عدة أسطر جديدة.

124
00:08:36,980 --> 00:08:39,110
‫لا يهم حقًا عدد الخطوط الجديدة التي لديك.

125
00:08:39,110 --> 00:08:40,670
‫لا يهم المسافة البيضاء.

126
00:08:40,670 --> 00:08:44,750
‫كما قلت ، إذن سيكون لدينا عقار جديد مرة أخرى.

127
00:08:44,930 --> 00:08:51,920
‫قم بتحرير أي مكان سيكون من النوع المنطقي وسأطلق عليه منطقي وسأعطيه القيمة الافتراضية

128
00:08:51,920 --> 00:08:55,760
‫لـ true وأضع فاصلة منقوطة في النهاية هناك.

129
00:08:55,760 --> 00:08:58,340
‫الآن ليس عليك الحفظ إذا كان لديك حفظ تلقائي ، لكنك تفعل ذلك.

130
00:08:58,340 --> 00:09:01,220
‫إذا لم تفعل ، فسنعود إلى المحرر.

131
00:09:01,220 --> 00:09:09,080
‫نضغط على زر الترميز المباشر في أسفل اليمين وسيظهر السجل ونأمل أن ننجح ، وهو ما

132
00:09:09,200 --> 00:09:10,700
‫فعله من أجلي.

133
00:09:10,700 --> 00:09:16,490
‫لكني أريد فقط أن أريكم ما سيحدث إذا ارتكبت خطأ ، مثل ترك الفاصلة المنقوطة ونهاية

134
00:09:16,490 --> 00:09:20,300
‫هذا السطر بدلاً من اللون الأخضر الجميل المطمئن.

135
00:09:20,300 --> 00:09:25,550
‫في نهاية السجل ، سيكون لديك بنية حمراء فاشلة تظهر بدلاً من ذلك.

136
00:09:25,550 --> 00:09:31,520
‫لذلك من المهم أنه إذا حصلت على تصميم ، وفشلت ، وأول الأشياء أولاً ، اذهب وتحقق من الكود

137
00:09:31,520 --> 00:09:38,030
‫الخاص بك ، وتأكد من أنه يطابق لي ، لأنه كما قلت ، غالبًا ما يكون مجرد خطأ مطبعي وإذا لم يكن كذلك ،

138
00:09:38,030 --> 00:09:42,290
‫فقم بنسخه ووضعه في الأسئلة والأجوبة واطلب بعض المساعدة.

139
00:09:42,350 --> 00:09:49,220
‫ومع ذلك ، سأقوم بتصحيح الكود الخاص بي الآن وإعادة تجميعه ، وعندما ينجح ذلك ، يمكنني إغلاق السجل ويمكنني

140
00:09:49,220 --> 00:09:56,180
‫البحث في المخطط التفصيلي للمنصة المتحركة ، ويمكنني تحديد النظام الأساسي المتحرك للبحث فيه جزء التفاصيل

141
00:09:56,180 --> 00:10:00,590
‫واطلع على جميع المتغيرات التي قمت بإنشائها.

142
00:10:00,590 --> 00:10:07,040
‫إنها عبارة عن عوامة وقيمة منطقي والقيم الافتراضية التي أعطيناها هناك.

143
00:10:07,040 --> 00:10:10,040
‫الآن ، من الجدير بالذكر أن هذه في الواقع مجرد افتراضات.

144
00:10:10,040 --> 00:10:16,730
‫لذلك إذا كنت تريد تجاوز هذه القيم في المحرر أو في Blueprint أو في المستوى ، ثم انتقلت وقم

145
00:10:16,730 --> 00:10:21,110
‫بتغييرها في C ++ ، فلن يكون للتغييرات في C ++ أي تأثير.

146
00:10:21,110 --> 00:10:22,580
‫كانت مجرد قيم افتراضية.

147
00:10:22,580 --> 00:10:28,580
‫لذلك ، إذا أجريت تغييرات في Blueprint ، فإن ذلك يكون له الأسبقية ويتجاوز أي شيء قمت به في C ++.

148
00:10:28,610 --> 00:10:29,360
‫أشياء رائعة.

149
00:10:29,360 --> 00:10:35,420
‫لقد أنشأنا المتغيرات الأولى لدينا ، أول كود لدينا في C ++ وقمنا بإدخاله باستخدام الترميز المباشر.

150
00:10:35,420 --> 00:10:37,250
‫سأراك في المحاضرة القادمة.

