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