﻿1
00:00:04,310 --> 00:00:05,000
‫أهلا ومرحبا.

2
00:00:05,010 --> 00:00:10,220
‫في هذه المحاضرة ، سننظر في ربط حركة شخصيتنا حتى نتمكن من المضي

3
00:00:10,220 --> 00:00:13,310
‫قدمًا في الصراع والنظر حول عالمنا.

4
00:00:13,310 --> 00:00:17,960
‫كلاسيكيات التحرك في منظور الشخص الأول أو مطلق النار من منظور شخص ثالث.

5
00:00:17,960 --> 00:00:19,400
‫دعنا نتعمق ونرى كيف يتم ذلك.

6
00:00:20,390 --> 00:00:26,420
‫لذا ، بالاستمرار في محاولة تنشيط حركة شخصيتنا ، سنرغب أولاً في ربط بعض المدخلات

7
00:00:26,420 --> 00:00:32,750
‫، لكننا سنعرف أيضًا أننا نريد أن نعرف ما الذي يجب ربط هذه المدخلات به.

8
00:00:32,930 --> 00:00:38,060
‫لحسن الحظ ، عندما يتعلق الأمر بالشخصيات ، هناك الكثير من الأشياء المبسطة التي تحدث لنا.

9
00:00:38,060 --> 00:00:44,390
‫بعد كل شيء ، Unreal حقًا محرك تم تحسينه لصنع أشياء مثل ألعاب إطلاق النار وألعاب الشخصيات.

10
00:00:44,390 --> 00:00:52,100
‫ودعنا نلقي نظرة على بعض وظائف الحركة التي تم توفيرها لنا بالفعل من قبل فئة ممثل الشخصية ، ليس فقط مكون حركة

11
00:00:52,100 --> 00:00:57,650
‫الشخصية ، ولكن أيضًا فئة الممثلين توفر هذه الوظائف وغالبًا ما تمرر الكثير

12
00:00:57,650 --> 00:01:02,480
‫من هذا إلى حركة الشخصية المكون ، ولكن ليس بالضرورة كذلك.

13
00:01:02,480 --> 00:01:04,940
‫دعونا نرى وظائف الحركة التي سنتعامل معها.

14
00:01:04,940 --> 00:01:08,480
‫بادئ ذي بدء ، سيكون هناك إضافة إدخال الحركة.

15
00:01:08,510 --> 00:01:12,830
‫تأخذ إضافة إدخال الحركة بشكل أساسي متجهًا ويخبرك بالاتجاه الذي ستتحرك فيه.

16
00:01:12,830 --> 00:01:14,660
‫لذلك إذا كان متجهًا للأمام ، فأنت تمضي قدمًا.

17
00:01:14,660 --> 00:01:16,250
‫إذا كان متجهًا للخلف ، فأنت تتحرك للخلف.

18
00:01:16,250 --> 00:01:18,650
‫إذا كان ناقلًا صحيحًا ، فأنت تتحرك يمينًا وهكذا.

19
00:01:18,650 --> 00:01:22,580
‫وسيحدد حجم المتجه مدى السرعة التي تتحرك بها في هذا الاتجاه.

20
00:01:23,000 --> 00:01:27,500
‫الشيء التالي هو أننا حصلنا على مدخلات الملعب الإضافية للتحكم.

21
00:01:27,500 --> 00:01:32,090
‫لذلك يتعلق الأمر بالبحث لأعلى ولأسفل ، وهو أمر مفيد للغاية بشكل واضح.

22
00:01:32,090 --> 00:01:35,540
‫عندما تحصل على الماوس ، فأنت تريد أن تنظر لأعلى ولأسفل عن طريق تحريك الماوس لأعلى ولأسفل.

23
00:01:35,960 --> 00:01:39,980
‫ثم هناك وحدة تحكم إضافية ، إدخالك يسار ويمينًا.

24
00:01:40,400 --> 00:01:45,080
‫وأخيرًا هناك وظيفة القفز والتي ربما تضغط على مفتاح المسافة وتقفز.

25
00:01:45,320 --> 00:01:52,220
‫لذلك مع وضع هذه الأشياء في الاعتبار ، ما نريد المضي قدمًا والقيام به هو إنشاء بعض الارتباطات في

26
00:01:52,220 --> 00:01:55,850
‫فئة ممثل الشخصية لدينا والتي تربط بعض المدخلات.

27
00:01:55,860 --> 00:02:01,700
‫إذن بعض المدخلات من لوحة المفاتيح والماوس ووحدة التحكم الخاصة بك لهذه الوظائف.

28
00:02:01,700 --> 00:02:05,510
‫لذلك سنفعل القليل ثم سنقوم بتحدي للقيام بالباقي.

29
00:02:05,810 --> 00:02:11,120
‫لذلك دعنا ننتقل إلى كود Visual Studio وأنا في شخصية مطلق النار.

30
00:02:11,450 --> 00:02:18,560
‫H ولاحظنا أن لدينا هنا بالفعل وظيفة مكون إدخال مشغل الإعداد.

31
00:02:18,560 --> 00:02:20,900
‫هذا هو المكان الذي نحتاج فيه إلى ربط مدخلاتنا.

32
00:02:21,020 --> 00:02:24,560
‫سوف تضرب F12 للانتقال إلى C ++.

33
00:02:25,750 --> 00:02:31,900
‫سأقوم بالضغط على Alt oh للانتقال إلى C ++ والعثور على المكان الذي حصلنا فيه على هذا الإعداد.

34
00:02:31,900 --> 00:02:36,570
‫أول شيء هو أنه يعطينا عنصر الإدخال هذا الذي نريد الارتباط به.

35
00:02:36,580 --> 00:02:38,410
‫إذا كنت تتذكر ، فهذه هي الطريقة التي نقوم بها.

36
00:02:38,410 --> 00:02:45,490
‫لدينا عنصر إدخال لاعب ، نستخدم عامل تشغيل السهم ثم نقوم بعمل وظيفة ربط هنا.

37
00:02:45,490 --> 00:02:53,650
‫لذلك فهو إما وصول مقيد أو سيكون إجراء ربط اعتمادًا على ما إذا كان إجراءً منفصلاً

38
00:02:53,650 --> 00:03:01,300
‫مثل القفز أو ما إذا كان إجراءً له قيمة مثل النظر لأعلى ولأسفل أو التحرك.

39
00:03:01,660 --> 00:03:08,860
‫الآن ، حتى عندما نقوم بالحركة باستخدام مفتاح ، ما زلنا نميل إلى ربطه باستخدام محور.

40
00:03:08,860 --> 00:03:14,230
‫لذلك سأقوم ببعض الأخطاء المطبعية في الجزء الأول من هذا الفيديو.

41
00:03:14,230 --> 00:03:19,990
‫سأقوم بتصحيحه لاحقًا ، لكن استمر واستخدم محور الربط بدلاً من ربط الإجراء هنا.

42
00:03:20,840 --> 00:03:29,000
‫لذلك حقًا لاتخاذ خطوة إلى الوراء ، نحتاج إلى المضي قدمًا وإعداد هذه الإجراءات والمحاور في إعدادات

43
00:03:29,000 --> 00:03:29,950
‫مشروعنا.

44
00:03:29,960 --> 00:03:32,120
‫لذا دعنا نعود إلى Unreal.

45
00:03:32,150 --> 00:03:38,150
‫انتقل إلى الإعدادات ، وإعدادات المشروع ، ثم سأقوم بإرساء هذا الأمر حتى نتمكن

46
00:03:38,240 --> 00:03:42,020
‫من رؤيته بوضوح شديد وسنذهب إلى قسم الإدخال.

47
00:03:42,020 --> 00:03:48,770
‫لذا أدخل المحرك وقم بإعداد بعض تعيينات المحاور وبعض تعيينات الإجراءات.

48
00:03:50,590 --> 00:03:56,800
‫لذا فإن الأشياء التي سأتعامل معها فورًا هي تعيينات المحاور لأننا ، أولاً

49
00:03:56,800 --> 00:03:59,290
‫وقبل كل شيء ، نتقدم للأمام.

50
00:04:00,230 --> 00:04:04,490
‫وسنقوم أيضًا بإلقاء نظرة على ذلك.

51
00:04:04,520 --> 00:04:10,370
‫الآن ، تذكر ، ليس لدينا تقدم للأمام ونتحرك للخلف لأنه يمكننا فعل ذلك

52
00:04:10,370 --> 00:04:11,630
‫بمقياس سلبي.

53
00:04:11,780 --> 00:04:17,060
‫لذلك ، على سبيل المثال ، أريد أن أقوم بإعداد W Quay الخاص بي ليكون بمثابة تقدمي إلى الأمام.

54
00:04:17,060 --> 00:04:18,650
‫هذا هو المقياس الأول.

55
00:04:18,650 --> 00:04:25,250
‫ولكن إذا أردت أن يكون مفتاح se الخاص بي هو تحركي للخلف ، فلا يزال بإمكاني استخدام المضي قدمًا ، ولكن أعطه مقياسًا ناقصًا

56
00:04:25,250 --> 00:04:25,940
‫واحدًا.

57
00:04:25,940 --> 00:04:27,240
‫مجرد تذكير سريع لك.

58
00:04:27,260 --> 00:04:28,430
‫نفس الشيء مع البحث.

59
00:04:28,430 --> 00:04:30,020
‫سأستخدم الماوس لهذا الغرض.

60
00:04:30,020 --> 00:04:33,110
‫سنغطي مدخلات وحدة التحكم في المحاضرة القادمة.

61
00:04:33,200 --> 00:04:35,620
‫سنستخدم الماوس y.

62
00:04:35,630 --> 00:04:41,030
‫الآن ، تذكر ، y هو الذي يرتفع لأعلى ولأسفل بدلاً من اليسار واليمين لأنه أطول نوعًا

63
00:04:41,030 --> 00:04:42,080
‫ما ، أليس كذلك؟

64
00:04:42,080 --> 00:04:44,570
‫الحرف Y أطول قليلاً من الحرف X.

65
00:04:44,570 --> 00:04:45,950
‫هكذا أتذكرها على أي حال.

66
00:04:45,950 --> 00:04:52,130
‫إذن ، فأرة الماوس Y لأعلى ولأسفل ومن ثم سيتعين علينا تعديل المقياس ، ومعرفة ما إذا كان يسير في الاتجاه

67
00:04:52,130 --> 00:04:53,090
‫الصحيح.

68
00:04:53,090 --> 00:04:58,070
‫لكن هذا سيعطينا في الأساس قيمًا سالبة إذا كنا ننزلق وقيمًا موجبة إذا صعدنا.

69
00:04:58,070 --> 00:05:02,900
‫لذلك قد نحتاج إلى التعديل من خلال البحث لأعلى لنرى ما إذا كان هذا سيذهب في الاتجاه الصحيح.

70
00:05:02,900 --> 00:05:09,230
‫لكنك حصلت على فكرة أنه يمكننا إما قلب المقياس أو عدمه ، اعتمادًا على نوع المدخلات القادمة

71
00:05:09,230 --> 00:05:09,800
‫هنا.

72
00:05:10,950 --> 00:05:14,390
‫لذا بمجرد حصولنا على اسم المحور ، يمكننا العودة إلى C ++.

73
00:05:14,400 --> 00:05:19,590
‫سنقوم بربطه باستخدام ماكرو النص ونص اسم المحور.

74
00:05:19,710 --> 00:05:25,180
‫ثم نحتاج إلى تحديد من سنقوم باستدعاء الوظيفة وما الوظيفة التي سنقوم باستدعائها.

75
00:05:25,200 --> 00:05:31,290
‫ليس لدينا حاليًا وظيفة نريد الاتصال بها ، لذلك سأذهب وأنشئ وظيفة

76
00:05:31,290 --> 00:05:35,160
‫خاصة جديدة في ملف رأس C ++ الخاص بي.

77
00:05:35,280 --> 00:05:41,220
‫وستكون دالة باطلة تسمى المضي قدمًا.

78
00:05:42,320 --> 00:05:46,130
‫وسيأخذ الطفو ، والذي سيكون قيمة المحور.

79
00:05:49,380 --> 00:05:50,880
‫انتهي بفاصلة منقوطة.

80
00:05:50,880 --> 00:05:55,320
‫ولدي القليل من الحيلة ، ملحق صغير هنا يساعدني في تنفيذ هذه الأشياء بشكل

81
00:05:55,320 --> 00:05:58,380
‫أسرع قليلاً عن طريق القيام بتحويل التحكم p و.

82
00:06:00,460 --> 00:06:06,640
‫إذا قمت بكتابة تنفيذ الإنشاء ، فسيتم المضي قدمًا وإنشاء هذا التنفيذ لي في ملف C

83
00:06:06,640 --> 00:06:06,940
‫++.

84
00:06:06,940 --> 00:06:08,060
‫حقا لطيف وسهل.

85
00:06:08,080 --> 00:06:09,460
‫اسم هذا الامتداد.

86
00:06:09,460 --> 00:06:14,470
‫إذا عدت ، أنسى دائمًا أسماء الامتدادات الخاصة بي ، لذلك سأذهب وألقي نظرة على ما قد

87
00:06:14,470 --> 00:06:14,980
‫يكون.

88
00:06:15,820 --> 00:06:18,310
‫نعم ، إنها لعبة صغيرة هنا ، مساعد C ++.

89
00:06:18,310 --> 00:06:24,160
‫إذا قمت بتثبيت هذا الرمز لرمز VTS الخاص بك ، فإنه يسمح لك فقط بالقيام بهذا النوع من الأشياء ، وهو أمر

90
00:06:24,160 --> 00:06:25,090
‫لطيف للغاية.

91
00:06:25,090 --> 00:06:25,810
‫سهل جدا.

92
00:06:27,490 --> 00:06:30,060
‫هذه هي الوظيفة التي نريد إعدادها لاستدعاءها.

93
00:06:30,070 --> 00:06:32,850
‫أولا وقبل كل شيء ، نقول هذا ، هذا هو الهدف.

94
00:06:32,860 --> 00:06:36,390
‫الكائن الحالي هو الهدف لهذه الوظيفة.

95
00:06:36,400 --> 00:06:42,850
‫ثم نمضي قدمًا ونطرح المسألة على مسألة الوظيفة المؤهلة بالكامل ، إلى الشخصية ، والنقطتين ،

96
00:06:42,850 --> 00:06:46,990
‫والنقطتين المضي قدمًا وهذا يجب أن يربطنا بهذه الوظيفة.

97
00:06:47,530 --> 00:06:54,460
‫وأخيرًا ، ما نريد فعله هو تمرير قيمة المحور إلى الوظيفة التي نريد فعلًا

98
00:06:54,460 --> 00:06:57,430
‫الاتصال بها ، وهي دالة أصل.

99
00:06:57,430 --> 00:06:58,600
‫لذلك لا يتعين علينا فعل أي شيء.

100
00:06:58,600 --> 00:07:01,660
‫يمكننا فقط القيام بحركة الإعلانات.

101
00:07:12,480 --> 00:07:13,680
‫إدخال مثل ذلك.

102
00:07:14,320 --> 00:07:20,640
‫لذلك نظرًا لأن هذه هي طريقة المضي قدمًا ، فنحن نريد أن يكون لدينا المتجه الأمامي للممثل.

103
00:07:20,650 --> 00:07:28,990
‫لذا فإن الطريقة التي نفعل بها ذلك هي أنه يمكننا تقديم متجه للأمام مثل ذلك ثم نريده أن يتقدم إلى الأمام بالقدر

104
00:07:28,990 --> 00:07:34,090
‫الذي تعطينا إياه قيمة الوصول حتى نتمكن من الضرب في قيمة المحور.

105
00:07:34,420 --> 00:07:36,340
‫وهذا سيعطينا النتيجة الصحيحة.

106
00:07:36,340 --> 00:07:39,370
‫إذن سنضرب المتجه الأمامي في قيمة المحور.

107
00:07:39,370 --> 00:07:44,110
‫إذا كان واحدًا ، فسنمضي قدمًا ، وإذا كان ناقصًا واحدًا ، يصبح المتجه الأمامي متجهًا متجهًا للخلف

108
00:07:44,110 --> 00:07:46,240
‫ونعود للخلف بهذه الوظيفة الواحدة فقط.

109
00:07:46,240 --> 00:07:49,000
‫هذا هو ما أعدنا للمضي قدمًا.

110
00:07:49,000 --> 00:07:49,530
‫رائعة.

111
00:07:49,540 --> 00:07:53,470
‫الشيء التالي هو الارتباط ببحثنا.

112
00:07:53,470 --> 00:07:54,790
‫لذلك دعونا نذهب وننسخ.

113
00:07:54,790 --> 00:07:58,480
‫أحب دائمًا نسخ مراجع السلسلة هذه حتى لا أخطئ.

114
00:07:58,930 --> 00:08:03,160
‫قم بالبحث وبدلاً من الارتباط للمضي قدمًا ، دعنا نعود إلى رأس الملف وننشئ شيئًا جديدًا.

115
00:08:03,160 --> 00:08:07,960
‫سيتم البحث عن قيمة المحور الطافي لأعلى ومرة أخرى.

116
00:08:09,080 --> 00:08:09,770
‫مثل ذلك.

117
00:08:10,600 --> 00:08:15,940
‫وإذا كنت أتحكم في التحول P وقمت بإنشاء التنفيذ ، فسيمضي قدمًا ويوفر لي القليل من الوقت.

118
00:08:16,150 --> 00:08:20,980
‫وهذه المرة بدلاً من إضافة مدخلات الحركة ، نريد استخدام إحدى تلك الوظائف الأخرى

119
00:08:20,980 --> 00:08:22,330
‫التي كانت تحت تصرفنا.

120
00:08:27,060 --> 00:08:32,580
‫وهي مدخلات العرض التقديمي لوحدة التحكم في الإعلانات لأننا نريد طرح الفكرة بشكل أساسي.

121
00:08:32,730 --> 00:08:37,080
‫لذلك هذه المرة يمكننا عمل وحدة تحكم في الإعلانات.

122
00:08:38,860 --> 00:08:42,550
‫مدخلات الملعب وتمرير قيمة المحور مباشرة.

123
00:08:42,580 --> 00:08:43,390
‫حاليا.

124
00:08:43,420 --> 00:08:49,980
‫الآن كن أكثر خبرة من بين مبرمجي C ++ ، فقد تقول ، مهلا ، هذه الوظيفة لا تفعل شيئًا في الأساس.

125
00:08:49,990 --> 00:08:53,650
‫إنها فقط تستدعي بعض الوظائف الأخرى بنفس المعامل.

126
00:08:53,650 --> 00:08:55,540
‫لذا فهي لا تفعل الكثير حقًا.

127
00:08:55,540 --> 00:08:56,650
‫وكنت على حق.

128
00:08:56,650 --> 00:09:03,250
‫لذا ما يمكننا القيام به هو أنه يمكننا إجراء بحث عن شخصية مطلق النار حتى نتمكن من استدعاء الوظيفة

129
00:09:03,250 --> 00:09:06,700
‫التي تم تعريفها في هذه الفئة بشخصية مطلق النار.

130
00:09:07,270 --> 00:09:14,200
‫أو يمكننا أن نقول ، حسنًا ، هناك مدخلات تحكم إضافية في الملعب يمكننا تسميتها مباشرة ، أليس كذلك؟

131
00:09:14,200 --> 00:09:21,910
‫لذا ، إذا استخدمنا F12 لمعرفة المكان المحدد وذهبت وانتقلت إليه ، يمكنك أن ترى أنه

132
00:09:21,910 --> 00:09:24,850
‫يتم تعريفه بالفعل في البيدق h.

133
00:09:24,850 --> 00:09:30,340
‫لذلك إذا قمت بالتمرير لأعلى ، يمكنك رؤية كل الطريق هنا في مكان ما سنجد فيه فصلًا.

134
00:09:30,340 --> 00:09:34,690
‫دعنا ، يمكننا حتى البحث فقط عن مساحة الفصل ، شيء من هذا القبيل.

135
00:09:35,430 --> 00:09:38,460
‫وهنا لدينا بيدق هو الطبقة.

136
00:09:38,460 --> 00:09:44,820
‫لذا دعنا نعود إلى شخصية مطلق النار وما يمكننا تجربته وجعل هذا أقصر قليلاً بالقول بدلاً

137
00:09:44,850 --> 00:09:53,910
‫من ذلك ، دعونا نقوم بعمل نقطتين ، ونقطتين ، ونضيف مدخلات وحدة التحكم بحيث تستدعي تلقائيًا هذه الوظيفة الأبوية مباشرةً

138
00:09:53,910 --> 00:09:59,100
‫بدلاً من الاضطرار إلى ذلك انتقل من خلال وظيفتنا الخاصة.

139
00:09:59,100 --> 00:10:02,700
‫هذه طريقة صحيحة للقيام بذلك أيضًا ، لكنها ليست ضرورية.

140
00:10:02,700 --> 00:10:08,070
‫لذلك سأقوم بالتعليق عليها حتى تتمكن من الرجوع إليها ورؤيتها إذا كنت تريد القيام بذلك بهذه الطريقة.

141
00:10:08,190 --> 00:10:12,120
‫لكنني أوصي بالقيام بذلك في الطريق الأقصر قليلاً مثل ذلك.

142
00:10:30,820 --> 00:10:35,720
‫أثناء محاولتي تجميعها ، لاحظت أنه بدلاً من الاتصال خلف المحور ، كما كنت أرغب

143
00:10:35,720 --> 00:10:38,240
‫في القيام بذلك ، كنت أقوم بعمل ملزم.

144
00:10:38,240 --> 00:10:41,000
‫لذلك ربما كنت تصرخ على شاشتك طوال الوقت.

145
00:10:41,000 --> 00:10:42,530
‫دعنا نمضي قدمًا ونبني ذلك مرة أخرى.

146
00:10:42,530 --> 00:10:46,580
‫بالمناسبة ، أفعل ذلك من خلال تحول التحكم B واختيار خيار الإنشاء.

147
00:10:46,580 --> 00:10:53,690
‫هذا هو محرر إطلاق النار البسيط الذي يفوز بـ 64 بنية تطوير ، وهي مجرد طريقة أسرع بالنسبة لي من الذهاب

148
00:10:53,690 --> 00:10:55,940
‫والضغط على زر الترجمة.

149
00:10:57,140 --> 00:10:59,390
‫سأبحث ولا يمكنني الحصول على بناء الجملة الخاص بي اليوم.

150
00:10:59,390 --> 00:11:07,070
‫بالطبع نحتاج إلى استخدام علامة العطف أمام هذه الوظيفة لنقول أساسًا أننا نريد الحصول

151
00:11:07,070 --> 00:11:08,540
‫على المؤشر.

152
00:11:09,750 --> 00:11:14,610
‫نريد استخدام علامة العطف أمام هذه الدوال للحصول على الصيغة الصحيحة هنا.

153
00:11:21,950 --> 00:11:22,130
‫تمام.

154
00:11:22,130 --> 00:11:28,430
‫لذلك بعد أن صححت هذين الخطأين الشائعين ، أحدهما أنني تلقيت استدعاء دالة خاطئًا والآخر أنني

155
00:11:28,430 --> 00:11:33,030
‫لم أحصل على علامة العطف أمام الوظائف التي أحاول استخدامها.

156
00:11:33,050 --> 00:11:37,070
‫دعنا ننتقل إلى Unreal ونرى ما إذا كان هذا يعمل بالفعل.

157
00:11:37,070 --> 00:11:41,930
‫إذا تقدمت وضغطت على تشغيل واستخدمت مفتاح W ومفتاح S ، يمكنك أن ترى أنه يمكنني التحرك للأمام وللخلف.

158
00:11:41,930 --> 00:11:42,800
‫شيء مذهل.

159
00:11:42,800 --> 00:11:49,040
‫وباستخدام الفأرة ، يمكنني النظر لأعلى ولأسفل ، لكنني أشعر في الوقت الحالي بانعكاس حركتي.

160
00:11:49,040 --> 00:11:55,310
‫لذلك سأنتقل إلى إعدادات المنتج واضغط على ناقص واحد هناك وأمضي قدمًا وأضرب التشغيل.

161
00:11:56,560 --> 00:11:59,140
‫والآن إذا صعدت لأعلى ولأسفل ، أشعر أنني على صواب.

162
00:11:59,140 --> 00:12:01,990
‫لاحظ أنني في الواقع أقوم بوضع البيض في موقعين مختلفين.

163
00:12:01,990 --> 00:12:04,780
‫هذا لأنني يجب أن أبدأ اللعب عندما أضع الثاني.

164
00:12:04,780 --> 00:12:08,650
‫لم أكن أدرك أنه كان هناك بالفعل واحد في المستوى ، وهذا هو سبب تزاوجي هنا في بعض الأحيان ، وأحيانًا

165
00:12:08,650 --> 00:12:10,120
‫أضع البيض في مكان مختلف.

166
00:12:10,120 --> 00:12:11,500
‫قد تجد نفس الشيء.

167
00:12:13,170 --> 00:12:14,940
‫لذلك حان وقت التحدي.

168
00:12:14,940 --> 00:12:22,920
‫لنجعلكم تلتزمون بحقوق الفيلم الخاصة بك وستبدو على ما يرام حتى نتمتع بالسيطرة الكاملة على حركتنا.

169
00:12:22,920 --> 00:12:27,690
‫لذا كرر العملية التي قمت بها للتو في المحاضرة لهذين الاثنين وربما كنت تتابعها

170
00:12:27,690 --> 00:12:28,590
‫على طول.

171
00:12:28,830 --> 00:12:31,320
‫إذا لم يكن كذلك ، يمكنك الدخول ومشاهدة المراجعة.

172
00:12:31,320 --> 00:12:35,340
‫وأود أيضًا أن تجرب وظيفة القفز أيضًا.

173
00:12:35,460 --> 00:12:38,160
‫إذا كنت تشعر بالشجاعة ، أوقف الفيديو واذهب.

174
00:12:38,920 --> 00:12:39,270
‫تمام.

175
00:12:39,270 --> 00:12:39,720
‫مرحبًا بعودتك.

176
00:12:39,720 --> 00:12:41,330
‫لذلك دعونا نجرب هذا.

177
00:12:41,340 --> 00:12:46,680
‫بادئ ذي بدء ، نحن نكرر الخطوات المذكورة أعلاه للمضي قدمًا والبحث.

178
00:12:46,680 --> 00:12:50,160
‫لذلك سنقوم بالتحرك ، أليس كذلك؟

179
00:12:50,430 --> 00:12:54,120
‫وسنقوم بدلاً من البحث لأعلى ، أن ننظر بشكل صحيح.

180
00:12:54,450 --> 00:12:59,520
‫ويمكننا المضي قدمًا ونسخها لإعداد محاورنا في إعدادات المشروع.

181
00:12:59,520 --> 00:13:02,160
‫لذا أضف زوجًا آخر من تعيينات المحاور.

182
00:13:02,160 --> 00:13:08,190
‫الأول سيكون التحرك ، إلى اليمين ، والذي سأقوم بتعيينه على المفتاح ، أربعة إلى اليسار.

183
00:13:08,190 --> 00:13:10,890
‫لذلك سيكون هذا هو ناقص واحد.

184
00:13:11,310 --> 00:13:18,090
‫سيكون A ناقص واحد لأنه في الواقع يترك عكس اليمين و DX سيكون أربعة في الوقت

185
00:13:18,120 --> 00:13:18,990
‫الحالي.

186
00:13:18,990 --> 00:13:21,210
‫من الواضح أنه يمكنك إضافة مفاتيح الأسهم هنا أيضًا.

187
00:13:21,210 --> 00:13:23,190
‫أنا لا أفعل ذلك لتوفير الوقت.

188
00:13:23,190 --> 00:13:25,170
‫لكن يمكنك المضي قدمًا وفعل الشيء نفسه.

189
00:13:25,170 --> 00:13:31,170
‫يمكنك فقط إضافة المزيد من المفاتيح هنا ، أي عدد من المفاتيح تريد تعيينه إلى مظهر المحور الفردي.

190
00:13:31,170 --> 00:13:31,680
‫الصحيح.

191
00:13:31,680 --> 00:13:35,520
‫سنستخدم الماوس x.

192
00:13:36,310 --> 00:13:39,910
‫وأعتقد أن على المرء أن يكون كافياً وليس ناقصاً.

193
00:13:40,180 --> 00:13:41,740
‫لا أعتقد أنه يتعين علينا قلب هذا.

194
00:13:42,520 --> 00:13:45,610
‫ثم ما سنفعله هو أننا سنربط هذا بشكل مختلف قليلاً.

195
00:13:45,610 --> 00:13:52,330
‫لذلك سوف أذهب بديلًا ، وننشئ لأنفسنا وظيفة الحركة الصحيحة هنا.

196
00:13:53,390 --> 00:13:57,540
‫الآن قد تتساءل ، لماذا نفعل هذا بشكل مختلف؟

197
00:13:57,560 --> 00:13:58,620
‫لماذا التحرك صحيح؟

198
00:13:58,640 --> 00:14:00,860
‫لماذا لا ندعو مباشرة لإضافة مدخلات الحركة؟

199
00:14:00,950 --> 00:14:02,990
‫الفرق هنا هو أننا نقوم ببعض الحسابات.

200
00:14:02,990 --> 00:14:07,820
‫نضيف في هذا الضرب بواسطة متجه ، وهو ما يضيف القليل من المعلومات

201
00:14:07,820 --> 00:14:09,630
‫ويبرر وجود هذه الدالة.

202
00:14:09,650 --> 00:14:16,030
‫لذا هذه المرة ، بدلاً من الحصول على فعل للأمام ، أريد أن تجعل المتجه الصحيح للممثل مثل

203
00:14:16,040 --> 00:14:20,810
‫ذلك وضربه في قيمة المحور ثم نريد الاتصال بدلاً من المضي قدمًا.

204
00:14:20,810 --> 00:14:24,980
‫نريد أن ندعو الخطوة الآن لإلقاء نظرة.

205
00:14:26,960 --> 00:14:27,680
‫الصحيح.

206
00:14:27,680 --> 00:14:34,310
‫بدلاً من إضافة مدخلات وحدة التحكم في الملعب ، نريد أن نقوم بالإدخال الخاص بك.

207
00:14:34,310 --> 00:14:36,380
‫تذكر لفة الملعب وأنت من الطائرات.

208
00:14:36,380 --> 00:14:41,110
‫يمكنك البحث عنه على ويكيبيديا إذا لم تكن متأكدًا من أيهما والمضي قدمًا وبناء ذلك.

209
00:14:41,120 --> 00:14:43,190
‫أتمنى ألا أكون قد فهمت بناء الجملة بشكل خاطئ هذه المرة.

210
00:14:43,670 --> 00:14:49,310
‫دعنا نتعمق في المحرر ونبدأ التشغيل وهناك تذهب.

211
00:14:49,310 --> 00:14:50,510
‫يمكنني النظر من حولي.

212
00:14:50,510 --> 00:14:51,470
‫هذا يبدو جيدًا.

213
00:14:51,470 --> 00:14:53,150
‫يمكنني مهاجمه اليسار واليمين.

214
00:14:53,150 --> 00:14:55,010
‫يمكنني المضي قدما والخلف.

215
00:14:55,010 --> 00:15:01,670
‫الشيء المتبقي لنا هو القفز ، والذي سيكون رسم تخطيطي للعمل وليس محورًا ، لأنه إجراء

216
00:15:01,670 --> 00:15:05,090
‫منفصل وأطلق عليه اسم القفز وانسخه.

217
00:15:05,120 --> 00:15:07,640
‫انتقل إلى رمز Visual Studio.

218
00:15:08,410 --> 00:15:13,870
‫وأغلق فقط نافذة الترجمة الخاصة بي وهنا سأقوم بذلك بدلاً من ربط محور ، لقد حصلت عليه.

219
00:15:13,870 --> 00:15:18,700
‫سأقوم بإلزام إجراء ملزم لإجراء.

220
00:15:18,710 --> 00:15:19,660
‫سهل هكذا.

221
00:15:19,720 --> 00:15:21,940
‫سيبدأ مع النص هنا.

222
00:15:22,930 --> 00:15:23,710
‫من القفز.

223
00:15:24,190 --> 00:15:28,840
‫لكن الشيء الذي يختلف مع المحاور ، كما تتذكر على الأرجح.

224
00:15:30,860 --> 00:15:38,570
‫هل نحتاج إلى استخدام بناء الجملة هذا ، حدث الإدخال ، وهو تعداد ، مما يعني أنه يمكن أن يأخذ في الأساس عددًا من هذه الخيارات المختلفة

225
00:15:38,570 --> 00:15:45,080
‫، والنقر المزدوج ، والبيان الصحفي ، وما إلى ذلك. سنرغب في الضغط على

226
00:15:45,080 --> 00:15:48,080
‫مثل هذا ، لذا.

227
00:15:55,710 --> 00:16:02,400
‫هذا ما أقوم بتأكيده مضغوطًا وبعد ذلك بمجرد أن نعرف أنه يمكننا المضي قدمًا وفعل الشيء

228
00:16:02,400 --> 00:16:04,980
‫نفسه ، ثم نريد أن ندعو للقفز.

229
00:16:05,280 --> 00:16:07,700
‫الآن أين يتم تعريف القفزة؟

230
00:16:07,710 --> 00:16:08,460
‫هل هو في -؟

231
00:16:08,460 --> 00:16:09,330
‫لنلقي نظرة.

232
00:16:10,320 --> 00:16:13,440
‫لا ، ولكن قد يكون في الشخصية.

233
00:16:13,440 --> 00:16:16,230
‫لذلك سأقوم بمراقبة P وأبحث عن الشخصية.

234
00:16:20,540 --> 00:16:21,710
‫نقطة H.

235
00:16:23,850 --> 00:16:28,800
‫افتح ذلك وألقِ نظرة هنا فقط ، واعرف ما إذا كان لديهم وظيفة قفزة محددة هنا.

236
00:16:29,040 --> 00:16:32,990
‫غالبًا ما يكون القفز ثم فتح الأقواس طريقة جيدة للبحث عن الوظائف داخل ملفات الرأس.

237
00:16:33,000 --> 00:16:34,860
‫من المؤكد أننا حصلنا على هذه الوظيفة.

238
00:16:34,860 --> 00:16:36,030
‫تستطيع أن ترى الوثائق.

239
00:16:36,030 --> 00:16:40,230
‫غالبًا ما أحب استخدام الكود المصدري مباشرةً بدلاً من البحث عن أي ملفات توثيق.

240
00:16:40,230 --> 00:16:44,790
‫أجد أنه في بعض الأحيان يكون الوصول إليه أسرع كثيرًا ، خاصةً عندما يكون لديك حق الوصول إلى التحكم.

241
00:16:44,790 --> 00:16:46,770
‫P في كود Visual Studio.

242
00:16:47,430 --> 00:16:52,620
‫لذا ما علينا القيام به هو بدلاً من الذهاب - ، القولون ، النقطتان ، نحتاج إلى عمل حرف النقطتين ، النقطتين.

243
00:16:52,620 --> 00:16:56,610
‫لذلك ستكون علامة العطف ، علامة النقطتين المحرف.

244
00:16:56,610 --> 00:16:59,190
‫القولون هذا لأن هذا هو الفصل الذي تم تعريفه فيه.

245
00:16:59,190 --> 00:17:05,280
‫لا يمكننا البحث عن التسلسل الهرمي عندما نقوم بعمل عامل القولون والنقطتين وبعد ذلك سيكون مجرد

246
00:17:05,280 --> 00:17:05,880
‫قفزة.

247
00:17:05,880 --> 00:17:07,830
‫لذا الشخصية ، القولون ، قفزة القولون.

248
00:17:07,830 --> 00:17:10,560
‫ولا تنس أنني بحاجة إلى فاصلة منقوطة في نهاية السطر.

249
00:17:10,560 --> 00:17:13,890
‫المضي قدمًا والبناء ومعرفة ما إذا كنا قادرين على القفز الآن.

250
00:17:17,430 --> 00:17:19,790
‫حسنًا ، تم البناء بشكل صحيح.

251
00:17:19,800 --> 00:17:21,810
‫دعنا ننتقل إلى مستوى وضع الحماية.

252
00:17:21,810 --> 00:17:24,600
‫اضرب اللعب وحاول واقفز.

253
00:17:24,780 --> 00:17:28,380
‫ليس لدي أي مفتاح مقيد ، لذلك قد يعيقني ذلك.

254
00:17:28,710 --> 00:17:35,200
‫أضف شريط المسافة كمفتاح أريد للقفز والمضي قدمًا واضغط تشغيل.

255
00:17:35,220 --> 00:17:35,910
‫ياي.

256
00:17:35,910 --> 00:17:39,750
‫أنا قادر على القفز لأعلى ولأسفل والتحرك في الهواء والتحرك.

257
00:17:39,870 --> 00:17:40,560
‫جميل.

258
00:17:40,560 --> 00:17:44,760
‫لذلك تعلمنا كيفية ربط محاورنا وأفعالنا حيث لم نتعلمها.

259
00:17:44,790 --> 00:17:51,300
‫لقد قمنا بمراجعتها ، لكننا رأينا ما نريد ربطه بشخصية من أجل الحصول على تلك الشخصية

260
00:17:51,300 --> 00:17:58,950
‫الكلاسيكية وهي تقفز وتهاجم وتتحرك وتنظر بالكاميرا الخاصة بك التي نعرفها جميعًا ونحبها من الرماة

261
00:17:58,950 --> 00:17:59,760
‫لدينا.

262
00:18:00,760 --> 00:18:07,590
‫وستلقي المحاضرة التالية نظرة على الفروق الدقيقة المطلوبة للتنقل باستخدام وحدة تحكم ، بالإضافة إلى لوحة مفاتيح

263
00:18:07,590 --> 00:18:08,400
‫وماوس.

