﻿1
00:00:04,390 --> 00:00:05,560
‫أهلا ومرحبا.

2
00:00:05,560 --> 00:00:11,230
‫في هذه المحاضرة سنقوم بعمل منصات متحركة ومتحركة.

3
00:00:11,230 --> 00:00:17,560
‫سنفعل ذلك من خلال التعرف على نوع F rotator في C ++ حتى نتمكن من إضافة

4
00:00:17,560 --> 00:00:20,950
‫عنصر آخر إلى اللغز الخاص بنا.

5
00:00:20,950 --> 00:00:23,950
‫دعنا نتعمق ونكتشف كيف يعمل هذا.

6
00:00:24,280 --> 00:00:28,300
‫لذلك دعونا نتحدث عن ملء وظيفة منصة التدوير الخاصة بنا.

7
00:00:28,510 --> 00:00:34,930
‫لذلك من أجل القيام بالتناوب ، إنها تشبه إلى حد كبير الطريقة التي نحدد بها الموقع ولدينا وظائف متشابهة

8
00:00:34,930 --> 00:00:35,350
‫جدًا.

9
00:00:35,350 --> 00:00:43,240
‫يمكننا الاتصال بدلاً من الاتصال ، والحصول على موقع الممثل ، ويمكننا الاتصال ، والحصول على تناوب الممثل بدلاً من ذلك.

10
00:00:43,240 --> 00:00:49,270
‫وإذا ذهبت ووضعت أقواسًا في نهاية هذا السطر وقمت فقط بالمرور فوق الوظيفة ،

11
00:00:49,270 --> 00:00:55,630
‫فإن Visual Studio IntelliSense سيوضح لنا أن القيمة المعادة من هذا هو دوار F.

12
00:00:55,630 --> 00:01:02,830
‫لقد استخدمنا المتجه F عند العمل مع المواقع وتحدثنا عن الدوارات في الأقسام السابقة.

13
00:01:02,830 --> 00:01:07,090
‫لذلك دعونا نلقي نظرة على وضع هذا المحور F في متغير محلي.

14
00:01:07,090 --> 00:01:14,920
‫لذا سيكون النوع هو F rotator وسنسمي هذا الدوران الحالي مساويًا لدوران الممثل ، ضع فاصلة

15
00:01:14,920 --> 00:01:17,680
‫منقوطة في نهاية السطر.

16
00:01:17,680 --> 00:01:20,260
‫سأقوم أيضًا بحذف بيان السجل لأننا لم نعد بحاجة إلى ذلك.

17
00:01:20,260 --> 00:01:25,450
‫ثم ما نريد القيام به هو بالضبط نفس ما فعلناه مع سرعة المنصة ،

18
00:01:25,450 --> 00:01:31,810
‫وهي نوع من سرعة الدوران مضروبة في زمن دلتا المضاف إلى الدوران الحالي.

19
00:01:31,810 --> 00:01:35,470
‫إذن ما الذي يجب أن تكون عليه سرعة الدوران؟

20
00:01:35,470 --> 00:01:39,520
‫حسنًا ، هذا هو المكان الذي نريد الانتقال إلى ملف الرأس وإضافة خاصية U جديدة.

21
00:01:39,520 --> 00:01:48,760
‫لذا سأضيفها تحت مسافة التحرك وسأقوم بتعديل خاصية U في أي مكان ثم أعطيها فئة مساوية

22
00:01:49,300 --> 00:01:55,900
‫لهذه المرة سأسميها تناوب وسأغير اسم الفئة من نقل النظام الأساسي

23
00:01:55,900 --> 00:02:00,100
‫إلى التحرك في كلتا الحالتين.

24
00:02:00,100 --> 00:02:03,850
‫لذلك سيكون لدينا فئة للحركة ، فئة للدوران.

25
00:02:03,850 --> 00:02:11,800
‫ثم تحت الخاصية سنضع محور دوار F يسمى سرعة الدوران ولن نعطيه قيمة افتراضية هنا

26
00:02:11,800 --> 00:02:16,780
‫لأنني افتراضيًا لا أريد أن تدور أي من منصاتنا.

27
00:02:16,780 --> 00:02:21,190
‫لذا فإن القيمة الافتراضية ستكون 000 ، وهذا ما نحتاجه بالضبط.

28
00:02:21,280 --> 00:02:26,470
‫سأضع فاصلة منقوطة في نهاية السطر هنا والآن يمكننا العودة إلى ملف

29
00:02:26,470 --> 00:02:31,330
‫C ++ واستخدام متغير العضو في وظيفة تدوير النظام الأساسي.

30
00:02:31,330 --> 00:02:42,610
‫إذن ما نريد فعله هو الدوران الحالي الذي يساوي الدوران الحالي بالإضافة إلى سرعة الدوران مضروبة في زمن دلتا

31
00:02:42,610 --> 00:02:46,750
‫ووضع فاصلة منقوطة في نهاية السطر.

32
00:02:46,900 --> 00:02:52,660
‫والآن فإن الجزء الأخير من اللغز هو تعيين ممثلنا على هذا الدوران الجديد.

33
00:02:52,660 --> 00:02:58,300
‫لذلك تمامًا كما تتوقع ، ربما يكون التحدي الصغير بالنسبة لك ، في الواقع ، هو كيف ستمضي

34
00:02:58,300 --> 00:03:00,130
‫قدمًا وتفعل ذلك بنفسك؟

35
00:03:01,970 --> 00:03:10,430
‫حسنًا ، ما سنستخدمه هو وظيفة دوران الممثل المحدد وسنمرر في حجة الدوران الحالي

36
00:03:10,430 --> 00:03:14,930
‫مثل ذلك ونضع فاصلة منقوطة في نهاية السطر.

37
00:03:14,960 --> 00:03:19,160
‫الآن ، لسوء الحظ ، لا يعمل الأمر بهذه البساطة.

38
00:03:19,310 --> 00:03:22,190
‫نما إلى علمي ، وقد أشار بعض الطلاب في التدريس المساعد.

39
00:03:22,190 --> 00:03:27,920
‫لقد أشار دان ، شكرًا جزيلاً لك ، إلى أن مجرد إضافة الدورات معًا مثل هذا لن

40
00:03:27,920 --> 00:03:32,710
‫ينجح دائمًا بسبب بعض التعقيدات حول الالتفاف حول نفسها.

41
00:03:32,720 --> 00:03:38,870
‫إذا انتقلت إلى درجة دوران تصل إلى -90 درجة ، فستحتاج في مرحلة ما إلى الدوران بمقدار

42
00:03:38,870 --> 00:03:41,070
‫90 درجة وما إلى ذلك.

43
00:03:41,090 --> 00:03:49,580
‫لذا فإن أفضل طريقة للتغلب على هذا ، بدلاً من ضبط الدوران النشط ، هي استدعاء الدور المحلي للممثل

44
00:03:49,580 --> 00:03:50,540
‫المضاف.

45
00:03:50,540 --> 00:03:57,110
‫ويمكنك أن تلاحظ هنا أن هناك عددًا قليلاً من أشكال التحويل المحلية المضافة للممثل بالإضافة إلى الإزاحة المحلية الخاصة

46
00:03:57,110 --> 00:03:57,830
‫بالموقع.

47
00:03:57,830 --> 00:04:00,920
‫لذلك يمكنك استخدام ذلك أيضًا بدلاً من إضافة الموقع.

48
00:04:00,920 --> 00:04:06,380
‫ومع ذلك ، لا توجد نفس المشاكل التي سنواجهها في حالات الحافة حول التدوير.

49
00:04:06,380 --> 00:04:12,800
‫لذا فإن ما أوصيك بفعله هو إضافة دوران محلي للممثل هنا بدلاً من ذلك ، وبعد ذلك تقوم فقط

50
00:04:12,800 --> 00:04:19,670
‫بوضع سرعة الدوران مضروبة في زمن دلتا ويقوم بعمل باقي هذا الرمز تلقائيًا نيابةً عنك.

51
00:04:19,670 --> 00:04:22,100
‫لذا يمكننا المضي قدمًا والتخلص من هذه الخطوط.

52
00:04:22,100 --> 00:04:27,560
‫ولديك إضافة مباشرة للدوران المحلي الجارية هنا ، ويمكنك أيضًا التخلص من هذا بالحصول

53
00:04:27,560 --> 00:04:31,670
‫على الدوران الحالي لأننا لم نعد بحاجة إلى ذلك أيضًا.

54
00:04:31,850 --> 00:04:35,450
‫لذلك دعونا نتوجه إلى المحرر ونضغط على زر الترجمة.

55
00:04:35,450 --> 00:04:37,520
‫وعندما يتم ذلك ، أغلق السجل.

56
00:04:37,640 --> 00:04:42,530
‫دعنا نختار أحد الأنظمة الأساسية في المستوى الذي سيفعله أي منها ونلقي نظرة على الفئات.

57
00:04:42,530 --> 00:04:46,970
‫إذن فقد تحركنا ودورنا وحصلنا على سرعة الدوران إذن.

58
00:04:46,970 --> 00:04:54,890
‫لذلك أريد أن أدور هذه المنصة حول محورها Z على الأرجح لنفترض أنها 90 درجة في الثانية.

59
00:04:54,890 --> 00:04:57,920
‫لذلك يستغرق الأمر 4 ثوانٍ للقيام بالدوران الكامل.

60
00:04:57,950 --> 00:04:59,990
‫دعنا نمضي قدما ونضرب اللعب.

61
00:04:59,990 --> 00:05:00,620
‫وها أنت ذا.

62
00:05:00,620 --> 00:05:03,590
‫لدينا منصة دوارة ومتحركة.

63
00:05:03,590 --> 00:05:11,270
‫لذلك على عكس آلية المنصة المتحركة ، لا داعي للقلق بشأن رجوع منصتنا الدوارة إلى

64
00:05:11,270 --> 00:05:13,040
‫الخلف والأمام.

65
00:05:13,040 --> 00:05:16,310
‫إذا كنت تريد أن تفعل ذلك ، فهذا امتداد محتمل يمكنك التفكير فيه.

66
00:05:16,310 --> 00:05:22,400
‫لكن بالنسبة لي هذا يكفي لأننا نريد فقط أن تستمر هذه الأشياء في الدوران في نفس

67
00:05:22,400 --> 00:05:23,420
‫الاتجاه.

68
00:05:23,630 --> 00:05:29,270
‫لذا دعني أذهب وأزيل الدوران من هذه المنصة المعينة لأننا لا نريد أن تدور هذه

69
00:05:29,270 --> 00:05:30,200
‫المنصة.

70
00:05:30,200 --> 00:05:37,640
‫لذلك أود أن أتحداك لإنشاء منصة دوارة للصفير ، وهي في الأساس متغير آخر لنا لاستخدامه

71
00:05:37,640 --> 00:05:40,220
‫وإيجاد شبكة مناسبة.

72
00:05:40,220 --> 00:05:45,980
‫سأختار شيئًا دائريًا بشكل غامض بحيث يكون منطقيًا كمنصة دوارة وأعطيه

73
00:05:45,980 --> 00:05:52,640
‫سرعة دوران افتراضية وأضعه في المستوى لإنشاء جزء من أحجية منصة دوارة لتتمكن

74
00:05:52,640 --> 00:05:54,380
‫من عبورها.

75
00:05:54,380 --> 00:05:56,300
‫أوقف الفيديو واذهب.

76
00:05:59,400 --> 00:05:59,700
‫تمام.

77
00:05:59,700 --> 00:06:00,660
‫مرحبًا بعودتك.

78
00:06:00,690 --> 00:06:08,610
‫لذلك سننتقل إلى درج المحتوى الخاص بنا وسنبحث عن فئات C ++ ، Obstacle Assault وانقر بزر الماوس الأيمن

79
00:06:08,610 --> 00:06:14,270
‫فوق النظام الأساسي المتحرك لإنشاء جهاز فئة مخطط مشتق من هذا.

80
00:06:14,280 --> 00:06:21,060
‫سنسميها منصة دوارة للخط السفلي من BP وسنضعها في مسار المحتوى

81
00:06:21,060 --> 00:06:23,430
‫وننشئ فئة المخطط.

82
00:06:23,430 --> 00:06:27,180
‫بمجرد ظهور المحرر ، فلنقم بإرسائه في نافذتنا الرئيسية.

83
00:06:27,180 --> 00:06:33,180
‫سأغلق متصفح المحتوى الخاص بي الذي يبدو أنه يريد الظهور في كل مرة ، وسأنتقل إلى مستوانا الرئيسي

84
00:06:33,180 --> 00:06:39,390
‫وأذهب إلى الجزيرة مع جميع أصول الاختبار الخاصة بنا عند النقر بزر الماوس الأيمن.

85
00:06:40,260 --> 00:06:44,490
‫اذهب هنا ودعنا نرى ما إذا كان هناك أي شيء يبدو جيدًا.

86
00:06:44,490 --> 00:06:48,600
‫أنا أحب مظهر هذه المنصات هنا.

87
00:06:48,600 --> 00:06:55,710
‫إذا قمت بالنقر بزر الماوس الأيمن فوقه أو إذا قمت بالنقر فوقه فقط ، فإن الشبكة المستخدمة هنا في الشبكة

88
00:06:55,740 --> 00:06:59,760
‫الثابتة هي SM platform A لذلك دعونا نبحث عن تلك الشبكة.

89
00:06:59,760 --> 00:07:07,620
‫دعنا ننتقل إلى المخططات الخاصة بنا ، ونفتح المحتوى ، ونرسم ، وننتقل إلى الكل ، ثم نبحث عن

90
00:07:07,620 --> 00:07:14,710
‫الشرطة السفلية للمنصة M ، والشرطة السفلية A ، ثم لدينا الشبكة ، وهي هذه هنا.

91
00:07:15,270 --> 00:07:16,890
‫الثاني على طول بالنسبة لي.

92
00:07:16,980 --> 00:07:21,480
‫سأقوم بسحبه إلى منفذ العرض الخاص بنا للحصول على منصتنا.

93
00:07:21,480 --> 00:07:24,090
‫الآن دعنا نرى أين يتمركز هذا.

94
00:07:24,090 --> 00:07:25,860
‫هل يتركز في المنتصف؟

95
00:07:25,860 --> 00:07:30,840
‫نعم ، إنه أمر جيد ومهم لأننا نحتاج إليه للدوران حول المنتصف.

96
00:07:30,840 --> 00:07:34,560
‫وإلا فإن هذه المنصة الدائرية ستبدو غريبة بعض الشيء.

97
00:07:34,770 --> 00:07:43,680
‫يمكننا أيضًا توسيعه قليلاً في البعدين x و Y لجعل هذه المنصة أكبر قليلاً ويمكننا الانتقال إلى الإعدادات

98
00:07:43,680 --> 00:07:51,180
‫الافتراضية للفئة لإزالة أي سرعة للمنصة لأننا لا نريد أن تتحرك وتعيين مسافة التحرك لأسفل

99
00:07:51,360 --> 00:07:57,480
‫إلى الصفر المحتمل ثم انظر إلى قسم التدوير وضبط ذلك على نحو جيد ، حاولنا 90

100
00:07:57,480 --> 00:08:01,440
‫درجة في الثانية وبدا ذلك معقولًا إلى حد ما.

101
00:08:01,440 --> 00:08:04,050
‫لذلك دعونا نمضي قدمًا ونحفظ هذه المنصة الدوارة.

102
00:08:04,170 --> 00:08:12,270
‫سوف ننتقل إلى المستوى الرئيسي لدينا ثم انقر بزر الماوس الأيمن على الجزيرة العائمة الصغيرة حيث قمنا بإعداد مستوانا اللغز

103
00:08:12,270 --> 00:08:14,360
‫الخاص بنا ، انقر فوق ، اذهب هنا.

104
00:08:14,880 --> 00:08:21,930
‫ثم على قمة هذه الجزيرة ، أريد أن أضع مخططنا الجديد.

105
00:08:21,930 --> 00:08:28,410
‫لذلك دعونا نلغي البحث ، ونذهب إلى جذر المحتوى ونجد منصتنا الدوارة ونضعها في المستوى.

106
00:08:28,410 --> 00:08:31,050
‫وعلى الفور أرى أنني في الواقع أريده أن يكون أكبر قليلاً.

107
00:08:31,200 --> 00:08:33,630
‫لذلك دعونا نمضي قدمًا ونوسع نطاقه.

108
00:08:33,630 --> 00:08:37,500
‫بضع وحدات أخرى ، ربما ثلاث مرات يجب أن تكون جيدة.

109
00:08:37,500 --> 00:08:38,850
‫دعنا نذهب ونلقي نظرة.

110
00:08:38,850 --> 00:08:44,940
‫الآن ، أعتقد أنه يمكن أن يكون أكبر من ذلك ، لذا سأقوم بالتوسع أكثر قليلاً بحيث يكون في

111
00:08:44,940 --> 00:08:48,630
‫الأساس في X و Y أكبر بخمس مرات مما كان عليه في الأصل.

112
00:08:48,660 --> 00:08:54,330
‫حسنًا ، هذا قرص دوار عريض لطيف وقد يكون من الصعب جدًا بالنسبة لنا عبوره.

113
00:08:54,330 --> 00:09:02,190
‫لذلك سأقوم بتكرار هذه باستخدام بديل واسحب لإنشاء عدد قليل منها عبر النظام

114
00:09:02,190 --> 00:09:07,860
‫الأساسي ومحاولة وضعها بشكل مناسب ثم سحب بديل آخر.

115
00:09:08,550 --> 00:09:14,320
‫لذلك لدينا مجموعة صغيرة لطيفة من الألغاز هنا لنحاول عبورها.

116
00:09:14,340 --> 00:09:18,570
‫لذلك هزتهم قليلاً حتى أتمكن من الحصول عليهم من الحافة إلى الحافة.

117
00:09:18,570 --> 00:09:24,540
‫وهنا حيث تساعد القدرة على الحصول على وضع اللعبة حقًا لأنه يمكننا النقر بزر الماوس الأيمن بالقرب

118
00:09:24,540 --> 00:09:30,450
‫من الأنظمة الأساسية والنقر فوق التشغيل من هنا ، وهنا جميع منصاتنا الدوارة لكي نتقدم عليها.

119
00:09:30,450 --> 00:09:37,620
‫إنه تحدٍ صغير الآن بالنسبة لنا أن نجد طريقنا عبر هذه المنصات المتحركة بطريقة لطيفة وسهلة.

120
00:09:37,620 --> 00:09:41,370
‫الآن هناك هذه المنطقة الميتة في المنتصف والتي يمكننا أن نحاول إخلاءها

121
00:09:41,370 --> 00:09:47,190
‫، ولكن في الواقع من الصعب جدًا الوصول إلى المنطقة الميتة والبقاء فيها ، لذلك لن أحاول وضع أي شيء هناك على وجه

122
00:09:47,190 --> 00:09:48,930
‫التحديد لمحاولة إيقاف ذلك.

123
00:09:49,350 --> 00:09:50,280
‫لكن يمكنك أن ترى هناك تذهب.

124
00:09:50,280 --> 00:09:55,080
‫إنه تحد قابل للتنفيذ يمكننا تجاوزه ، لكنه صعب بعض الشيء وهذا ممتع.

125
00:09:55,080 --> 00:09:55,590
‫أشياء عظيمة.

126
00:09:55,590 --> 00:10:01,270
‫لذلك في هذه المحاضرة ، رأينا كيف نصنع منصات دوارة من خلال التعرف على نوع جديد

127
00:10:01,290 --> 00:10:05,940
‫، الدوار F وكيف يمكننا استخدامه لضبط دوران الممثلين لدينا.

128
00:10:05,940 --> 00:10:07,530
‫سأراك في المحاضرة القادمة.

