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