﻿1
00:00:04,280 --> 00:00:05,540
‫أهلا ومرحبا.

2
00:00:05,540 --> 00:00:09,140
‫في هذه المحاضرة ، لدينا عيون تتابعنا في جميع أنحاء العالم.

3
00:00:09,140 --> 00:00:11,570
‫سوف يذهب ويتحرى عندما يغيب عني.

4
00:00:11,570 --> 00:00:13,730
‫لذلك من الصعب جدًا أن تخسر.

5
00:00:13,730 --> 00:00:20,120
‫ولكن إذا ذهبت بعيدًا كثيرًا عن الزوايا ، فلن يكون قادرًا على مواكبة الأمر ،

6
00:00:20,120 --> 00:00:25,160
‫وفي النهاية سيفقد الاهتمام ويعود إلى موقع البداية هناك.

7
00:00:25,370 --> 00:00:31,010
‫هذا ما سنقوم بتنفيذه في هذه المحاضرة من خلال إنهاء مهمة شجرة السلوك.

8
00:00:31,010 --> 00:00:32,930
‫دعنا نتعمق ونرى كيف يتم ذلك.

9
00:00:33,550 --> 00:00:38,380
‫لذلك نريد أن نجعل مهمتنا تنفذ ، أن نفعل شيئًا بالفعل.

10
00:00:38,380 --> 00:00:42,400
‫وعلى وجه الخصوص نريد أن نكون قادرين على مسح قيمة السبورة هذه ، افعل ما هو مكتوب على القصدير.

11
00:00:42,820 --> 00:00:44,830
‫إذن كيف نبدأ في القيام بذلك؟

12
00:00:44,860 --> 00:00:49,210
‫حسنًا ، لذلك ، نحتاج إلى الصعود إلى الفئة الأساسية وإلقاء نظرة على ما تم تنفيذه هناك.

13
00:00:49,210 --> 00:00:56,350
‫في الواقع ، نحن بحاجة إلى الصعود إلى مستوى أعلى ، كما ترون من وراثة قاعدة السبورة

14
00:00:56,890 --> 00:00:57,880
‫المهمة.

15
00:00:57,880 --> 00:01:00,540
‫وفوق ذلك لدينا عقدة مهمة BT.

16
00:01:00,550 --> 00:01:05,320
‫لذلك دعونا نستخدم F 12 للانتقال إلى التنفيذ هناك.

17
00:01:05,320 --> 00:01:12,700
‫وإذا قمت بالتمرير لأعلى إلى أعلى ملف رأس عقدة مهمة BT ، يمكنك أن ترى أن هناك معلومات حول

18
00:01:12,700 --> 00:01:13,720
‫هذه الفئة.

19
00:01:13,720 --> 00:01:18,670
‫والشيء الأكثر أهمية هو أن هذه هي الوظائف الافتراضية التي من المرجح أن

20
00:01:18,670 --> 00:01:19,960
‫نرغب في تنفيذها.

21
00:01:20,260 --> 00:01:22,510
‫إذن أول واحد هو تنفيذ المهمة.

22
00:01:22,510 --> 00:01:30,760
‫يسمى هذا عندما تبدأ المهمة في التنفيذ ، ثم لدينا مهمة لوحة ، وهي عندما تقرر أننا بحاجة إلى التوقف عن

23
00:01:30,760 --> 00:01:36,100
‫التنفيذ ، على سبيل المثال ، لأن الشرط أصبح خاطئًا وقد تم إعداد هذه

24
00:01:36,100 --> 00:01:37,060
‫الإشارة.

25
00:01:37,060 --> 00:01:38,710
‫لذلك أجهضت هذه المهمة.

26
00:01:39,040 --> 00:01:43,720
‫تحدث مهمة ضع علامة طوال الوقت الذي يتم فيه تنفيذ المهمة ، ولكن ليس العلامة الأولى.

27
00:01:43,720 --> 00:01:46,660
‫لذا فإن العلامة الأولى ستستدعي تنفيذ المهمة بعد ذلك.

28
00:01:46,660 --> 00:01:49,540
‫سنستمر في استدعاء مهمة التجزئة في كل مرة.

29
00:01:50,140 --> 00:01:56,200
‫وذلك بالنسبة للسلوكيات التي قد تستمر لأكثر من علامة واحدة ، مثل الانتقال إلى عدو قد تستغرق

30
00:01:56,200 --> 00:01:57,400
‫عدة علامات.

31
00:01:57,400 --> 00:01:59,710
‫لذا ضع علامة في المهمة تسمح لنا بعمل شيء ما.

32
00:01:59,710 --> 00:02:05,860
‫كل علامة ورسالة مخصصة لأشياء أخرى غير الإجهاض التي قد ترسل رسالة إلى هذه المهمة.

33
00:02:05,860 --> 00:02:09,250
‫لا داعي للقلق حقًا بشأن هذه الوظيفة المعينة.

34
00:02:09,250 --> 00:02:15,370
‫لذا فإن الثلاثة الأوائل هم حقًا الأشياء التي نهتم بها أكثر ، ونرى أن مهمتنا

35
00:02:15,370 --> 00:02:21,370
‫هي مجرد مسح قيمة السبورة بمجرد تنفيذها ثم ستنتهي على الفور.

36
00:02:21,370 --> 00:02:24,100
‫لا يحتاج إلى القيام بأشياء عبر علامات متعددة.

37
00:02:24,100 --> 00:02:30,190
‫نحن مهتمون بمهمة التنفيذ ، لذلك إذا بحثنا في ملف الرأس هذا عن مهمة التنفيذ

38
00:02:30,190 --> 00:02:37,420
‫، يمكنك رؤية التوقيع الكامل هنا ونوع الإرجاع هنا هو نتيجة عقدة التمهيد هذه.

39
00:02:38,080 --> 00:02:43,660
‫ويأخذ في شيئين مكون المالك وذاكرة العقدة.

40
00:02:43,720 --> 00:02:48,880
‫الآن السبب الذي يجعله يستوعب ذاكرة العقدة معقدًا بعض الشيء

41
00:02:48,880 --> 00:02:58,930
‫، لكن الشيء المهم الذي يجب معرفته هنا هو أن فئة المهام أو مثيل فئة المهام ، يوجد واحد منهم فقط لكل السبورات السوداء.

42
00:02:58,930 --> 00:03:04,960
‫بشكل أساسي ، تتم مشاركتها بين كل شيء ، وهذا هو السبب في أنك إذا كنت تريد حفظ

43
00:03:04,960 --> 00:03:12,400
‫بعض المعلومات المتعلقة بالعقدة في شجرة سلوك معينة ، فما عليك فعله هو تخزينها في مؤشر الذاكرة

44
00:03:12,400 --> 00:03:13,660
‫هذا.

45
00:03:13,660 --> 00:03:16,210
‫لكننا لن نفعل أي شيء متعلق بذلك.

46
00:03:16,210 --> 00:03:18,670
‫إنها أكثر تقدمًا قليلاً أن تحتاج إلى القيام بذلك.

47
00:03:18,670 --> 00:03:23,860
‫وهناك طرق أخرى للتغلب على هذا ، مثل السماح لـ Unreal بإنشاء حالات متعددة لكل شجرة سلوك

48
00:03:23,860 --> 00:03:28,450
‫، والتي قد تكون أكثر إتقانًا أو لا ، ولكن هذه طريقة أكثر فاعلية قليلاً ولا

49
00:03:28,450 --> 00:03:30,430
‫داعي للقلق بشأنها هو - هي.

50
00:03:30,430 --> 00:03:35,620
‫في النهاية ، ما يهمنا هو حقيقة أنه يمكننا الوصول إلى مكون خاص بنا ، مكون شجرة السلوك ، ومن هناك

51
00:03:35,620 --> 00:03:40,930
‫يمكننا الوصول إلى أشياء أخرى مثل البيدق ، إلخ. لكن هذا أيضًا موضوع

52
00:03:40,930 --> 00:03:43,270
‫محاضرة أخرى.

53
00:03:43,270 --> 00:03:48,910
‫لذا فإن الشيء المثير للاهتمام والمهم الآن هو مجرد تنفيذ مهمة التنفيذ الخاصة بنا.

54
00:03:48,910 --> 00:03:55,450
‫لذلك سنقوم بنسخ التوقيع ، وانتقل إلى قيمة السبورة الشفافة H ودعنا نرى فقط هذه الملاحظة العامة

55
00:03:55,450 --> 00:04:00,040
‫، أعتقد أن هذا سيكون محميًا لأنه موجود في القسم الافتراضي.

56
00:04:00,040 --> 00:04:04,930
‫لذلك سننشئ لأنفسنا قسمًا محميًا ونلصقه هناك ثم سنمضي قدمًا

57
00:04:04,930 --> 00:04:08,500
‫وننشئ أو نضع تجاوزًا فقط للتأكد من سلامته.

58
00:04:08,500 --> 00:04:14,500
‫وبعد ذلك سننشئ تطبيقًا في C ++ ، مع تذكر أننا نريد دائمًا الاتصال بـ

59
00:04:14,500 --> 00:04:21,520
‫super عندما نتجاوز مهمة التنفيذ الفائق مع مكون المالك وذاكرة العقدة التي يتم

60
00:04:21,520 --> 00:04:24,460
‫استدعاؤها إلى والدنا هنا.

61
00:04:24,460 --> 00:04:30,790
‫وبعد ذلك ما نريد القيام به هو الحصول على السبورة لدينا حتى نتمكن من مسح المفتاح.

62
00:04:30,790 --> 00:04:32,230
‫وهناك شيئان مهمان هنا.

63
00:04:32,230 --> 00:04:35,140
‫بادئ ذي بدء ، كيف نعرف المفتاح الذي تم اختياره؟

64
00:04:35,140 --> 00:04:41,230
‫حسنًا ، إذا انتقلنا إلى Blackboard Base H الخاص بنا ، يمكنك أن ترى أن إحدى الطرق هناك هي تحديد Blackboard

65
00:04:41,230 --> 00:04:42,340
‫Key.

66
00:04:42,340 --> 00:04:48,220
‫لذلك يمكنك بسهولة استدعاء هذا في C ++ ، والحصول على Blackboard Key المحدد ، وسيعود ذلك.

67
00:04:48,220 --> 00:04:54,100
‫إذا قمنا بالتمرير فوقه ، فسيتم إرجاع اسم F ، وهو الاسم F لمفتاح السبورة الذي تم تحديده في شجرة

68
00:04:54,100 --> 00:04:54,730
‫السلوك.

69
00:04:54,730 --> 00:04:59,380
‫الآن ، الشيء الآخر الذي نحتاج إلى القيام به هو أن نكون في الواقع قادرين على الحصول على السبورة المتعلقة

70
00:04:59,380 --> 00:05:00,280
‫بشجرة السلوك هذه.

71
00:05:00,280 --> 00:05:02,380
‫لذلك ، لدينا شركات خاصة بنا.

72
00:05:02,380 --> 00:05:07,990
‫لاحظ الآن هنا أن نوع شركات المالك التي يتم تمريرها هنا هي في الواقع مرجع وليس مؤشر.

73
00:05:07,990 --> 00:05:09,850
‫لذلك لا يمكن أن يكون فارغًا كبداية.

74
00:05:09,850 --> 00:05:10,720
‫ذلك رائع.

75
00:05:10,720 --> 00:05:15,730
‫ولكن هذا يعني أيضًا أننا بحاجة إلى استخدام عامل التشغيل النقطي بدلاً

76
00:05:15,730 --> 00:05:21,910
‫من عامل السهم لأننا لا نستخدم مؤشرًا ومن هنا يمكننا ببساطة الحصول على مكون السبورة.

77
00:05:21,910 --> 00:05:26,260
‫حتى تحصل على مكون السبورة فقط إذا قمت بالمرور فوقه ، فهذا هو مؤشر لمكون السبورة

78
00:05:26,260 --> 00:05:29,470
‫، لذلك ستحتاج إلى استخدام عوامل تشغيل الأسهم.

79
00:05:29,470 --> 00:05:32,680
‫لذلك نحن نعرف بالفعل كيفية مسح المفاتيح على السبورة.

80
00:05:32,880 --> 00:05:34,590
‫الخصوم ، سيكون هذا هو التحدي الخاص بك.

81
00:05:34,590 --> 00:05:36,690
‫لذلك نأمل أن يكون التحدي ليس معقدًا للغاية.

82
00:05:36,690 --> 00:05:38,620
‫تريد مسح المفتاح المحدد.

83
00:05:38,800 --> 00:05:41,730
‫يمكننا التحقق من المكان الذي قمنا فيه بهذا من قبل.

84
00:05:42,240 --> 00:05:44,910
‫هل تحتاج إلى أي محتويات من أجل القيام بذلك؟

85
00:05:44,910 --> 00:05:53,010
‫ربما تحتاج السبورة إلى تضمين استخدام المفتاح المحدد في شجرة السلوك الخاصة بك باعتباره المفتاح الذي نريد

86
00:05:53,010 --> 00:05:53,550
‫مسحه.

87
00:05:53,550 --> 00:05:55,530
‫لذا أوقف الفيديو مؤقتًا واذهب.

88
00:05:55,560 --> 00:05:56,670
‫حسنًا ، أرحب بعودتك.

89
00:05:56,670 --> 00:05:58,740
‫لذلك دعونا نجرب هذا.

90
00:05:58,740 --> 00:06:01,560
‫أول شيء هو أننا حصلنا على مكون السبورة.

91
00:06:01,560 --> 00:06:03,060
‫لنستخدم عامل الخطأ هنا.

92
00:06:03,360 --> 00:06:04,560
‫لا شيء قادم.

93
00:06:04,560 --> 00:06:11,910
‫لذلك أفترض أنني بحاجة وهناك بالفعل بعض التمايل الحمراء التي أحتاجها تتضمن تجزئة هنا للقيام

94
00:06:11,910 --> 00:06:15,960
‫بشجرة السلوك ثم مكون السبورة هنا والآن.

95
00:06:15,960 --> 00:06:21,300
‫آمل أن يعمل الإكمال التلقائي الخاص بي ، مما سيسمح لي بالحصول على الوضوح.

96
00:06:21,300 --> 00:06:23,580
‫دعنا فقط نحاول تحديث ذاكرتنا.

97
00:06:23,580 --> 00:06:25,230
‫أين فعلنا هذا من قبل؟

98
00:06:25,230 --> 00:06:30,810
‫إذا انتقلنا إلى Shooter I ، Controller CP وألقينا نظرة على ما لدينا هنا ، فلدينا قيمة

99
00:06:30,810 --> 00:06:31,500
‫واضحة.

100
00:06:31,500 --> 00:06:32,790
‫هذا هو ما نبحث عنه.

101
00:06:32,790 --> 00:06:35,430
‫لذلك دعونا نجرب تلك القيمة الواضحة.

102
00:06:35,430 --> 00:06:36,600
‫وماذا تأخذ في؟

103
00:06:36,600 --> 00:06:41,370
‫يأخذ إما مفتاح F أو اسم F ، اسم رائع يمكننا الحصول عليه.

104
00:06:41,370 --> 00:06:46,830
‫وأين قلنا أنه يمكننا الحصول على ذلك باستخدام مفتاح السبورة المحدد الموجود في هذا الفصل لأنه موجود في الفصل

105
00:06:46,830 --> 00:06:48,030
‫الدراسي الرئيسي.

106
00:06:48,030 --> 00:06:51,300
‫لذا احصل على Blackboard Key المحدد وهو بهذه البساطة.

107
00:06:51,300 --> 00:06:53,910
‫نحن نقوم بمسح قيمة مفتاح Blackboard المحدد.

108
00:06:53,910 --> 00:06:55,590
‫الآن ، شيء أخير علينا القيام به.

109
00:06:55,590 --> 00:06:57,060
‫لم يكن هذا جزءًا من التحدي الخاص بك ، فلا تقلق.

110
00:06:57,060 --> 00:07:03,240
‫إذا لم تكن تعلم أن هذا هو أننا نحتاج إلى العودة لأن هناك قيمة مرتجعة لمهمة تنفيذ قيمة

111
00:07:03,240 --> 00:07:04,680
‫السبورة الواضحة.

112
00:07:04,680 --> 00:07:06,810
‫والقيمة المعادة مثيرة للاهتمام للغاية.

113
00:07:06,810 --> 00:07:07,410
‫لنلقي نظرة.

114
00:07:07,410 --> 00:07:12,600
‫دعنا نتبعها بـ F 12 ونرى ما هي الحالة المختلفة التي يمكننا العودة إليها من اختبار التنفيذ.

115
00:07:12,600 --> 00:07:14,400
‫الآن نجح أول واحد.

116
00:07:14,400 --> 00:07:14,760
‫رائعة.

117
00:07:14,760 --> 00:07:19,710
‫يشير هذا بشكل أساسي إلى شجرة السلوك التي انتهت هذه العقدة من تنفيذها ويمكننا الانتقال

118
00:07:19,710 --> 00:07:20,910
‫إلى العقدة التالية.

119
00:07:20,910 --> 00:07:21,930
‫فشل مرة أخرى.

120
00:07:21,930 --> 00:07:27,450
‫هذه نهاية حتى نتمكن من الانتقال إلى المرحلة التالية ، ولكن هذه المرة تقول إنها فشلت.

121
00:07:27,450 --> 00:07:34,500
‫وهذا يعطي مؤشرات مختلفة ، على سبيل المثال ، كعقد تسلسلية أو عقدنا المختارة فيما يتعلق بما يجب

122
00:07:34,500 --> 00:07:36,750
‫أن تفعله هذه العقد بالفعل.

123
00:07:37,260 --> 00:07:44,850
‫ثم تم إجهاضنا ، وهو في الأساس نفس الفشل ونحن ماضون في التقدم.

124
00:07:44,850 --> 00:07:51,420
‫إذا عدت قيد التقدم من مهمة تنفيذية ، فستقول في الأساس إن عليك الاستمرار في الاتصال

125
00:07:51,420 --> 00:07:57,120
‫بالقراد حتى أخبرك بخلاف ذلك ، حتى أقول إنني انتهيت الآن لن نستخدم هذا.

126
00:07:57,120 --> 00:08:02,700
‫لكن من الجيد أن تضع في اعتبارك أنه إذا كنت بحاجة إلى إنشاء مهمة طويلة المدى ، فسنواجه

127
00:08:02,700 --> 00:08:03,660
‫عدة علامات.

128
00:08:03,660 --> 00:08:06,060
‫ثم علينا العودة في التقدم.

129
00:08:06,060 --> 00:08:08,220
‫لكن كما قلت ، نريد النجاح.

130
00:08:08,400 --> 00:08:10,260
‫لذلك دعونا ندخل ونفعل ذلك.

131
00:08:10,260 --> 00:08:14,490
‫إرجاع العقدة EB Beat نتيجة القولون ، القولون.

132
00:08:14,490 --> 00:08:20,550
‫وستنجح لأننا نجحنا في توضيح هذه القيمة بشكل أساسي بغض النظر عن أي شيء.

133
00:08:20,760 --> 00:08:25,470
‫حتى نتمكن من المضي قدمًا وحفظ كل هذا ، والانتقال إلى المحرر والضغط على compile.

134
00:08:25,470 --> 00:08:31,710
‫وعندما يكتمل ذلك ، دعنا نمضي قدمًا ونفتح الذكاء الاصطناعي وشجرة السلوك.

135
00:08:31,740 --> 00:08:33,020
‫إذاً أين هذه الضربة؟

136
00:08:33,030 --> 00:08:35,490
‫وقمت بإرسائه على النافذة الرئيسية ودعونا نلقي نظرة.

137
00:08:35,490 --> 00:08:40,800
‫لدينا قيمة السبورة الواضحة والتي يجب أن تكون قادرة الآن على السماح لنا بالانتقال

138
00:08:40,800 --> 00:08:47,250
‫إلى آخر موقع معروف ، ومسح قيمة السبورة ، والانتظار لمدة خمسة ، ومن ثم يجب أن نرى أنه يجب عدم ضبط التحقيق

139
00:08:47,250 --> 00:08:52,200
‫في آخر موقع معروف للاعب ، لذلك يجب أن نعود إلى موقع البداية.

140
00:08:52,200 --> 00:08:56,790
‫لذلك دعونا نرى ما إذا كان هذا السلوك يعمل الآن بعد أن تم تنفيذ المهمة بالكامل.

141
00:08:56,800 --> 00:09:00,450
‫لذلك هو قادم إليّ ، إنه يحقق معي.

142
00:09:00,480 --> 00:09:01,800
‫سأذهب وأختبئ.

143
00:09:01,800 --> 00:09:03,000
‫لذلك دعونا نذهب ونختبئ.

144
00:09:03,150 --> 00:09:04,200
‫إنه قادم للتحقيق.

145
00:09:04,200 --> 00:09:05,550
‫دعنا نذهب ونختبئ مرة أخرى.

146
00:09:05,760 --> 00:09:07,290
‫لذا اذهب واختبئ.

147
00:09:07,830 --> 00:09:10,080
‫دعونا نرى ما إذا كان بإمكاننا اكتشافه هناك.

148
00:09:10,080 --> 00:09:16,020
‫يجب أن يكون ينتظر في الوقت الحالي ثم يعود إلى موقع البداية ، الأمر الذي

149
00:09:16,020 --> 00:09:18,420
‫يجعله للأسف يتقاطع معي.

150
00:09:18,420 --> 00:09:25,350
‫لذلك دعونا نرى ما إذا كان هذا يعمل بالفعل كما نتوقع ، وذلك بإخراج نافذة عدونا ورسوها

151
00:09:25,350 --> 00:09:29,820
‫إلى اليمين ووضع نافذتنا الرئيسية على اليسار.

152
00:09:29,820 --> 00:09:34,890
‫إنه ضيق بعض الشيء ، لكن يمكننا القيام بذلك ثم سنحاول الهروب من هذا

153
00:09:34,890 --> 00:09:37,800
‫الرجل مرة أخرى ونرى ما سيحدث لسلوكه.

154
00:09:37,800 --> 00:09:41,910
‫يمكنك أن ترى أنه ينتقل إلى آخر موقع معروف للاعب.

155
00:09:42,510 --> 00:09:45,990
‫وهو الآن ينتظر ، بعد أن أوضح القيمة.

156
00:09:45,990 --> 00:09:51,360
‫وبعد ذلك يمكنك أن ترى أنه سينتقل إلى المكان ويمكنك أن ترى هذه الأشرطة الحمراء على الزينة

157
00:09:51,360 --> 00:09:54,030
‫تخبرنا أن أيا من هذين الشرطين غير صحيح.

158
00:09:54,030 --> 00:09:55,950
‫لذلك لا يمكنه فعل أيٍّ من هذين.

159
00:09:55,950 --> 00:09:57,840
‫أخيرًا ، انتقل إلى موقع البداية.

160
00:09:57,840 --> 00:10:01,170
‫لذا فهي الآن تومض لأنها في الأساس لا تستطيع فعل أي شيء.

161
00:10:01,320 --> 00:10:09,810
‫هذا هو أساسًا أن هذه المحاضرة رأينا كيف يمكننا الحصول على مهام تنفيذ التعليمات البرمجية فهم الحالات المختلفة التي

162
00:10:09,810 --> 00:10:14,910
‫يمكنك العودة من تنفيذ المهمة وكيفية الحصول على السبورة من المهمة وأيضًا

163
00:10:14,910 --> 00:10:19,890
‫كيفية الحصول على المفتاح المحدد حاليًا على مهمة السبورة.

164
00:10:19,890 --> 00:10:26,310
‫في المحاضرة التالية ، سنرى كيف يمكننا الحصول على العالم خارج شجرة سلوك السبورة ، وكيف

165
00:10:26,310 --> 00:10:30,450
‫يمكننا الحصول على البيدق من داخل مهمة شجرة السلوك.

166
00:10:30,450 --> 00:10:31,080
‫سأراك هناك.

