﻿1
00:00:04,710 --> 00:00:06,600
‫أهلا ومرحبا بكم مرة أخرى.

2
00:00:06,630 --> 00:00:09,660
‫نحن الآن جاهزون لبدء التعامل مع مدخلات المستخدم.

3
00:00:09,780 --> 00:00:15,000
‫هذا يعني أننا نرغب في الضغط على مفاتيح لوحة المفاتيح وتحريك الماوس والنقر فوق الماوس ورؤية خزاننا

4
00:00:15,000 --> 00:00:16,650
‫يتفاعل مع هذا الإدخال.

5
00:00:16,770 --> 00:00:22,260
‫الآن ، من أجل القيام بذلك ، نحتاج أولاً إلى الحصول على هذا الإدخال بالفعل وسنبدأ أولاً في القيام

6
00:00:22,260 --> 00:00:24,450
‫بذلك باستخدام تعيينات المحاور.

7
00:00:24,450 --> 00:00:25,980
‫لذلك دعونا نتحدث عن هذا.

8
00:00:26,100 --> 00:00:30,600
‫الآن هنا في المشروع ، دعنا نذهب لتحرير وإعدادات المشروع.

9
00:00:30,780 --> 00:00:35,340
‫وإذا مررنا لأسفل وحددنا الإدخال ، فسنرى ارتباطاتنا هنا.

10
00:00:35,340 --> 00:00:39,600
‫وتحت الارتباطات توجد تعيينات الإجراءات وتعيينات المحاور.

11
00:00:39,630 --> 00:00:42,300
‫سنذهب أولاً إلى تعيينات المحاور.

12
00:00:42,350 --> 00:00:47,370
‫الآن قد يكون لديك بعض الخبرة مع هؤلاء ، لكننا سنأخذ نظرة أعمق قليلاً

13
00:00:47,370 --> 00:00:49,700
‫في ما تفعله وكيف تعمل.

14
00:00:49,710 --> 00:00:51,150
‫لذلك لدينا ثلاثة منهم.

15
00:00:51,240 --> 00:00:58,800
‫وإذا نقرت على سهم القائمة المنسدلة ، سأرى هنا W و SW ويتحدثان عن مفاتيح W و SW على

16
00:00:58,800 --> 00:01:00,780
‫لوحة المفاتيح.

17
00:01:00,810 --> 00:01:06,960
‫يتم تعيين هذه لتعيين محور معين ، والذي يسمى Move Forward.

18
00:01:06,960 --> 00:01:09,870
‫لذلك دعونا نناقش كيفية عمل تخطيط المحور.

19
00:01:09,870 --> 00:01:17,280
‫لذلك رأينا في The Unreal Editor أن لدينا تعيين محور يسمى Move Forward وقد

20
00:01:17,280 --> 00:01:20,820
‫تم تعيين W و SCS لتعيين هذا المحور.

21
00:01:20,820 --> 00:01:22,950
‫فماذا يعني هذا بالضبط؟

22
00:01:23,730 --> 00:01:27,870
‫حسنًا ، في Unreal Engine ، لدينا شيء يسمى تعيين المحور.

23
00:01:27,870 --> 00:01:32,970
‫وتخطيط المحاور هو شيء يعالج كل إطار من اللعبة.

24
00:01:33,000 --> 00:01:35,700
‫تقوم بتعيين مفاتيح لتعيين المحور.

25
00:01:35,700 --> 00:01:38,460
‫في حالتنا ، قمنا بتعيين W و S.

26
00:01:38,490 --> 00:01:41,370
‫ألقِ نظرة الآن بجوار مفتاح W هنا.

27
00:01:41,370 --> 00:01:45,060
‫في عينة لقطة الشاشة الصغيرة الخاصة بي إلى اليمين ، تظهر الرسالة مقياس.

28
00:01:45,060 --> 00:01:48,180
‫وبجانب المقياس يوجد رقم 1. 0.

29
00:01:48,300 --> 00:01:53,160
‫وربما لاحظت بجوار SQ أن المقياس هو -1. 0.

30
00:01:53,160 --> 00:01:58,650
‫إذن فهذه هي القيم التي ستؤثر على تلك المعلومات المدخلة.

31
00:01:58,650 --> 00:02:01,080
‫إليك كيفية عمل تعيين المحور.

32
00:02:01,320 --> 00:02:08,580
‫تقدم خرائط المحور لدينا القدرة على الارتباط بوظيفة في C ++.

33
00:02:08,700 --> 00:02:15,060
‫الآن ، عندما يتعلق الأمر بتعيينات المحور ، إذا قمنا بربط دالة مع تعيين المحور ، فيجب أن

34
00:02:15,060 --> 00:02:22,410
‫تأخذ معلمة إدخال من النوع float حتى نتمكن من إنشاء دالة على حوضنا تسمى MOVE تأخذ عددًا عشريًا.

35
00:02:22,410 --> 00:02:24,870
‫سنسمي فقط قيمة معلمة الإدخال هذه.

36
00:02:24,930 --> 00:02:30,570
‫الآن هناك طريقة لأخذ هذه الوظيفة وربطها بتخطيط محور التحرك للأمام.

37
00:02:30,570 --> 00:02:34,980
‫قال إننا نربط وظيفة النقل بتعيين المحور.

38
00:02:34,980 --> 00:02:41,430
‫لذا فإن كل إطار من نظام إدخال اللعبة Unreal Engine سوف يتحقق لمعرفة ما إذا كنا نضغط

39
00:02:41,430 --> 00:02:43,680
‫على مفتاح W أو المفتاح.

40
00:02:43,680 --> 00:02:50,730
‫وسيقوم بحساب قيمة المحور اعتمادًا على ما إذا كنا نضغط على هذه المفاتيح وكل إطار فردي

41
00:02:50,730 --> 00:02:51,600
‫أم لا.

42
00:02:51,600 --> 00:02:58,080
‫ستقوم باستدعاء هذه الوظيفة التي نحن ملزمون بالتحرك للأمام وتمرير قيمة المحور فيها.

43
00:02:58,080 --> 00:03:03,810
‫كل ما يحدث داخل هذه الوظيفة متروك لنا كمطور C ++.

44
00:03:03,840 --> 00:03:05,310
‫الآن إليكم كيف يعمل.

45
00:03:05,310 --> 00:03:10,860
‫إذا لم نضغط على W أو المفاتيح ، فإن قيمة هذا المحور تساوي صفرًا.

46
00:03:10,860 --> 00:03:16,890
‫لذا فإن وظيفة النقل المرتبطة بتخطيط محور التحرك للأمام تسمى كل إطار فردي والقيمة

47
00:03:16,890 --> 00:03:19,620
‫العائمة التي تم تمريرها هي صفر.

48
00:03:19,620 --> 00:03:22,380
‫لنفترض الآن أننا نضغط على مفتاح W.

49
00:03:22,620 --> 00:03:26,820
‫تم ضبط مقياس W على 1. 0.

50
00:03:26,850 --> 00:03:33,870
‫هذا يعني أن قيمة المحور ستكون 1. 0 وهذا ما يتم تمريره إلى وظيفة MOV.

51
00:03:33,870 --> 00:03:39,090
‫لذلك كل إطار فردي ، يتم استدعاء وظيفة النقل بقيمة 1. 0 مرت.

52
00:03:39,120 --> 00:03:44,910
‫الآن دعنا نقول أننا بدلاً من ذلك نضغط على SRC التي لها قيمة مقياس -1. 0.

53
00:03:44,940 --> 00:03:51,720
‫هذا يعني أنه سيتم استدعاء كل إطار فردي لوظيفة النقل و -1. سيتم تمرير 0.

54
00:03:51,720 --> 00:03:58,260
‫الآن في الحالة التي نضغط فيها على كل من W و S ، تتم إضافة هاتين القيمتين معًا.

55
00:03:58,260 --> 00:04:05,040
‫لذلك نحصل على 1. 0 من الضغط على مفتاح W ونحصل على -1. 0 من الضغط على SRC.

56
00:04:05,070 --> 00:04:07,200
‫الآن كلاهما يلغي بعضهما البعض.

57
00:04:07,320 --> 00:04:13,350
‫لذا ، إذا ضغطنا على كليهما في نفس الوقت ، فسيتم استدعاء وظيفة النقل مع تمرير الصفر.

58
00:04:13,710 --> 00:04:19,020
‫بناءً على مجموعة المفاتيح التي نضغط عليها ، سنحصل على قيمة مختلفة يتم تمريرها

59
00:04:19,020 --> 00:04:25,230
‫إلى وظيفة MOVE الخاصة بنا ويمكننا فعل ما نشاء بهذه القيمة ، مثل استخدامها لتحريك البيدق.

60
00:04:25,230 --> 00:04:28,500
‫سنتحدث عن تحريك البيدق فعليًا قريبًا.

61
00:04:28,500 --> 00:04:34,620
‫في الوقت الحالي ، دعنا نعمل فقط على إعداد أنفسنا فعليًا حتى نتمكن من التعامل مع هذه المعلومات

62
00:04:34,620 --> 00:04:36,390
‫من نظام تعيين المحور.

63
00:04:36,930 --> 00:04:43,260
‫حسنًا ، والآن بعد أن عرفنا كيفية عمل تعيين المحور ، فقد حان الوقت لإنشاء دالة رد نداء

64
00:04:43,260 --> 00:04:46,620
‫يمكننا ربطها بتعيين محور التقدم للأمام.

65
00:04:46,620 --> 00:04:50,370
‫لذا سأغلق إعدادات المشروع وأعود إلى كود VS.

66
00:04:50,370 --> 00:04:58,470
‫لذا هنا في رمز VS ، نود إنشاء وظيفة يمكننا ربطها بتخطيط محور التقدم للأمام.

67
00:04:58,470 --> 00:05:02,640
‫لذلك هنا في الخزان H يمكننا إنشاء وظيفة خاصة.

68
00:05:02,640 --> 00:05:03,810
‫الآن سوف يكون.

69
00:05:03,880 --> 00:05:07,180
‫نوع الإرجاع الباطل ، وأود أن أسمي هذه الخطوة.

70
00:05:07,210 --> 00:05:11,950
‫الآن يحتاج إلى معلمة إدخال عائمة ، وسنسمي هذه القيمة.

71
00:05:12,010 --> 00:05:16,750
‫لذلك دعونا نأخذ وظيفة الحركة الخاصة بنا ونحددها هنا في Tank.

72
00:05:16,970 --> 00:05:25,450
‫CP سوف ألصقه هنا أسفل المُنشئ مباشرةً ونحتاج إلى خزان بمشغل تحليل النطاق قبل

73
00:05:25,450 --> 00:05:27,310
‫اسم الوظيفة.

74
00:05:27,460 --> 00:05:33,550
‫إذن لدينا وظيفة النقل هذه ونحن على استعداد لربطها بتخطيط محور التحرك للأمام.

75
00:05:33,670 --> 00:05:39,340
‫ويتم ذلك داخل وظيفة تسمى مكون إدخال مشغل الإعداد.

76
00:05:39,370 --> 00:05:40,630
‫يجب أن يبدو ذلك مألوفًا.

77
00:05:40,630 --> 00:05:48,130
‫في الواقع ، إذا فتحنا المستكشف الخاص بنا ورجعنا إلى Base Pont H ، فيمكننا التمرير لأسفل ورؤية

78
00:05:48,130 --> 00:05:51,910
‫مكون إدخال مشغل إعداد الوظيفة في القسم العام.

79
00:05:51,910 --> 00:05:56,380
‫سنرى أن هذا تجاوز لوظيفة افتراضية موروثة.

80
00:05:56,950 --> 00:06:03,430
‫الآن لا تحتاج فئة النشر الأساسي إلى إعداد أي مدخلات ، وهذا ما تمثله هذه الوظيفة للتعامل

81
00:06:03,430 --> 00:06:06,010
‫مع المدخلات من اللاعب.

82
00:06:06,040 --> 00:06:10,810
‫الآن ، لا تحتاج فئة الرابطة الأساسية الخاصة بنا إلى التعامل مع الإدخال ، ولكن فئة الخزان لدينا تحتاج إلى ذلك.

83
00:06:10,810 --> 00:06:18,160
‫إذن ما يمكننا فعله هو إخراج هذه الوظيفة من قاعدة البركة h لكنني سأقوم بنسخها لأننا نحتاجها

84
00:06:18,160 --> 00:06:19,240
‫في الخزان.

85
00:06:19,930 --> 00:06:27,190
‫بنسخ هذه الوظيفة ، سأذهب إلى Tank H وهنا في القسم العام سأقوم بلصقها.

86
00:06:27,190 --> 00:06:32,800
‫وبما أننا لسنا بحاجة إليها في البركة الأساسية ، فسأقوم بإزالتها من طبقة البركة الأساسية.

87
00:06:32,800 --> 00:06:38,090
‫وفي الحقيقة سأذهب إلى بركة القاعدة CP وأزلها من هنا أيضًا.

88
00:06:38,110 --> 00:06:42,250
‫لذلك دعونا نمضي قدمًا ونحذف مكون إدخال مشغل الإعداد من Base Pond.

89
00:06:42,460 --> 00:06:46,540
‫CP والآن لم يعد موجودًا في فئة البركة الأساسية.

90
00:06:46,540 --> 00:06:52,120
‫لذلك دعونا نمضي قدمًا ونحفظ التغييرات ونغلق القاعدة Pond H و CP.

91
00:06:52,150 --> 00:06:59,410
‫والآن لدينا عنصر إدخال مشغل الإعداد معلن في Tank H ، لكننا نريد أيضًا تحديده وخزانه.

92
00:06:59,620 --> 00:07:01,540
‫CP حتى هنا في Tank.

93
00:07:01,720 --> 00:07:06,340
‫CP سأضيف التعريف فوق وظيفة النقل مباشرة.

94
00:07:06,430 --> 00:07:12,880
‫إذن هذا باطل وهو مكون إدخال لاعب تم إعداده للدبابة.

95
00:07:13,510 --> 00:07:18,000
‫الآن دعنا نعود إلى Tank H ونرى نوع معلمة الإدخال الخاصة به.

96
00:07:18,010 --> 00:07:21,880
‫سترى أنه تم التصريح للأمام هنا داخل الأقواس.

97
00:07:21,880 --> 00:07:27,070
‫هذا شيء يمكنك القيام به إذا كنت تريد إعادة التوجيه ، والإعلان عن نوع الفصل في ملف الرأس.

98
00:07:27,070 --> 00:07:33,370
‫لذلك تم الإعلان عن إعادة التوجيه هنا ونحتاج إلى إدخال نوع مؤشر المكون ويسمى المعامل

99
00:07:33,370 --> 00:07:34,990
‫مكون إدخال المشغل.

100
00:07:34,990 --> 00:07:37,450
‫لذلك نحن بحاجة إلى معلمة الإدخال هذه في الخزان.

101
00:07:37,600 --> 00:07:44,980
‫CP إذن بين قوسين لمكون إدخال مشغل الإعداد ، سيكون لدينا مكون إدخال

102
00:07:45,040 --> 00:07:50,080
‫U وهو مؤشر ويسمى مكون إدخال اللاعب.

103
00:07:50,320 --> 00:07:55,300
‫الآن توقيع الوظيفة يطابق ذلك في إعلان الوظيفة.

104
00:07:55,450 --> 00:08:02,050
‫الآن مرة أخرى في ملف CP ، دعنا نعطي هذه الوظيفة جسمًا وظيفيًا ونقوم بالكتابة فوق

105
00:08:02,050 --> 00:08:07,450
‫هذه الوظيفة ومن الجيد استدعاء مكون إدخال مشغل الإعداد الفائق.

106
00:08:07,480 --> 00:08:13,030
‫الآن ، نظرًا لأننا نستدعي الإصدار الأصلي من مكون إدخال مشغل الإعداد ، يتعين علينا

107
00:08:13,030 --> 00:08:15,460
‫تمرير إدخال من النوع الذي أدخلته.

108
00:08:15,460 --> 00:08:19,900
‫سنقوم بتمرير معلمة الإدخال إلى هذه الوظيفة هنا.

109
00:08:19,900 --> 00:08:23,430
‫وبهذه الطريقة ، سوف يسمي الفصل الأصلي نسخته.

110
00:08:23,440 --> 00:08:26,620
‫الآن لا يقوم خزان البركة الأساسي بتنفيذ هذه الوظيفة.

111
00:08:26,620 --> 00:08:27,700
‫لقد أزلناه للتو.

112
00:08:27,700 --> 00:08:31,930
‫لكن الفئة الأصل إلى القاعدة - ستستدعي نسختها.

113
00:08:31,930 --> 00:08:38,410
‫وكلما تجاوزت وظيفة افتراضية كهذه ، فإن استدعاء الإصدار الفائق فكرة جيدة.

114
00:08:38,410 --> 00:08:43,090
‫لذلك لا يفوتنا أي وظائف مطبقة في الإصدار الأصلي.

115
00:08:43,090 --> 00:08:44,440
‫فلماذا نفعل هذا؟

116
00:08:44,470 --> 00:08:47,150
‫ما فائدة مكون إدخال مشغل الإعداد؟

117
00:08:47,170 --> 00:08:51,730
‫حسنًا ، أحد الأشياء الجيدة هي وظائف الربط للوصول إلى التعيينات.

118
00:08:51,730 --> 00:08:56,140
‫نرغب في ربط وظيفة النقل الخاصة بنا بتعيين محور التحرك للأمام.

119
00:08:56,140 --> 00:08:57,250
‫ونحن نفعل ذلك هنا.

120
00:08:57,250 --> 00:09:01,180
‫نقوم بذلك باستخدام مكون إدخال مشغل معامل الإدخال هذا.

121
00:09:01,180 --> 00:09:04,360
‫هذا ما صمم هذا الكائن من أجله.

122
00:09:04,390 --> 00:09:12,160
‫نأخذ مكون إدخال المشغل وعلى هذا المؤشر نستخدم مشغل السهم للوصول إلى وظيفة

123
00:09:12,160 --> 00:09:14,110
‫تسمى محور الربط.

124
00:09:14,590 --> 00:09:17,890
‫يأخذ Bind Axis الآن بعض معلمات الإدخال.

125
00:09:17,890 --> 00:09:22,450
‫الأول عبارة عن سلسلة حرفية ، مما يعني أننا سنستخدم ماكرو النص.

126
00:09:22,600 --> 00:09:24,430
‫الآن ماذا نضع في الاقتباسات؟

127
00:09:24,520 --> 00:09:27,160
‫نضع اسم تعيين المحور.

128
00:09:27,160 --> 00:09:31,690
‫رأينا في المحرر أن تعيين المحور هذا يسمى المضي قدمًا.

129
00:09:32,020 --> 00:09:36,970
‫لذلك نحن نختار تعيين المحور لربطه بمعامل الإدخال الثاني.

130
00:09:36,970 --> 00:09:43,690
‫سيكون هذا مؤشرًا للكائن حيث يكون ربط الوظيفة لهذا هو مؤشرًا لمثيل

131
00:09:43,690 --> 00:09:50,590
‫فئة معينة حيث n وبما أننا في فئة الخزان ، فإن هذا سيشير إلى مثيل دبابة

132
00:09:50,590 --> 00:09:53,280
‫البيدق في لعبه.

133
00:09:53,290 --> 00:09:58,120
‫الآن المعلمة الثالثة هي عنوان الوظيفة التي نربطها.

134
00:09:58,120 --> 00:10:01,720
‫لذلك لدينا حركة دبابة.

135
00:10:01,750 --> 00:10:03,550
‫من المهم جدًا أن نحتاج إلى ذلك بشكل كامل.

136
00:10:03,660 --> 00:10:06,900
‫قم بتأهيل اسم الوظيفة باسم الفئة.

137
00:10:06,900 --> 00:10:13,200
‫وهنا أمام اسم الوظيفة ، نحتاج إلى عنوان المشغل.

138
00:10:13,230 --> 00:10:18,450
‫الآن ، إذا لم تكن معتادًا على القيام بشيء كهذا ، فهذا يعني ببساطة أخذ عنوان

139
00:10:18,450 --> 00:10:19,220
‫الوظيفة.

140
00:10:19,230 --> 00:10:23,040
‫يمكن أن تحتوي الوظائف على عناوين تمامًا مثل المتغيرات.

141
00:10:23,040 --> 00:10:28,320
‫لذا فإن استخدام عنوان المشغل هو وسيلة لتمرير الوظائف إلى وظائف أخرى.

142
00:10:28,320 --> 00:10:31,380
‫لهذا السبب نحتاج إلى عنوان المشغل هذا.

143
00:10:31,380 --> 00:10:34,050
‫لذلك لدينا استدعاء وظيفي لربط الوصول.

144
00:10:34,200 --> 00:10:40,650
‫الآن ربما تلاحظ أن مؤشر خطأ IntelliSense يشير إلى نوع فئة غير مكتمل لمكون الإدخال غير

145
00:10:40,650 --> 00:10:41,700
‫مسموح به.

146
00:10:41,850 --> 00:10:43,710
‫الآن نحن نعرف ما يمكن أن يسبب هذا.

147
00:10:43,710 --> 00:10:46,950
‫أولاً ، قد يعني ذلك أننا بحاجة إلى تضمين ملف رأس.

148
00:10:47,220 --> 00:10:50,430
‫الاحتمال الآخر هو أنه خطأ خاطئ.

149
00:10:50,430 --> 00:10:55,110
‫يمكنك معرفة ذلك بسهولة عن طريق التحويل البرمجي ، لذلك دعونا نحاول التجميع.

150
00:10:55,440 --> 00:10:57,600
‫سنرى أن لدينا تجميعًا ناجحًا.

151
00:10:57,600 --> 00:10:59,640
‫لذلك نحن نعلم أن هذا خطأ خاطئ.

152
00:10:59,640 --> 00:11:04,290
‫ولكن مرة أخرى ، إذا أردت ، يمكنك إضافة التضمين فقط لإزالة ذلك.

153
00:11:04,290 --> 00:11:05,790
‫لذلك فهو لا يزعجك.

154
00:11:05,820 --> 00:11:10,890
‫نحن نعلم الآن أن نوع الفصل الذي يشكو منه هو مكون الإدخال.

155
00:11:11,280 --> 00:11:16,290
‫إذن ، ها أنت تدخل المكون في الوثائق وإليكم التضمين.

156
00:11:16,290 --> 00:11:23,100
‫وإذا أضفنا هذا هنا في الجزء العلوي من ملف خزان CP ، فسوف نتخلص من هذا الخطأ الخاطئ المزعج.

157
00:11:23,100 --> 00:11:29,280
‫ومرة أخرى ، نظرًا لأن هذه العناصر تشتمل على عناصر الحماية التي يريدها براغيا ، فإننا نعلم

158
00:11:29,280 --> 00:11:34,080
‫أن مكونات الإدخال لن يتم تضمينها أكثر من مرة وهناك تلاشى التمايل.

159
00:11:34,350 --> 00:11:39,900
‫نعلم الآن أن وظيفة النقل هذه ستسمى كل إطار وستكون للقيمة قيمة تعويم

160
00:11:39,900 --> 00:11:44,280
‫معينة اعتمادًا على ما إذا كنا نضغط على W أو نسأل.

161
00:11:44,670 --> 00:11:50,490
‫الآن ، مجرد معرفة أن وظيفة النقل لا بد أن تمضي قدمًا ليست كافية تمامًا.

162
00:11:50,490 --> 00:11:54,750
‫كمطورين ، من الجيد الحصول على نوع من التأكيد على أن الأشياء تعمل.

163
00:11:54,750 --> 00:12:01,110
‫لذا ، ما أود أن تفعله كتحدي لك هو استخدام سجل YUI في وظيفة MOV لطباعة القيمة التي يتم

164
00:12:01,110 --> 00:12:04,950
‫تمريرها إلى الحركة التي تسمى القيمة العائمة.

165
00:12:04,980 --> 00:12:13,110
‫لذا استخدم النسبة المئوية f في سجل uiy لتسجيل قيمة قيمة الطفو في سجل الإخراج ثم العب واختبر اللعبة واضغط

166
00:12:13,110 --> 00:12:17,020
‫على هذه المفاتيح وشاهد ما ستتم طباعته في السجل.

167
00:12:17,040 --> 00:12:20,370
‫أوقف الفيديو مؤقتًا وأضف هذا إلى وظيفة النقل الآن.

168
00:12:23,280 --> 00:12:23,590
‫تمام.

169
00:12:23,610 --> 00:12:27,960
‫هنا في وظيفة mov ، سأضيف سجل uii.

170
00:12:30,200 --> 00:12:33,680
‫ويمكن أن يكون هذا تحذيرًا مؤقتًا.

171
00:12:33,770 --> 00:12:35,960
‫ولماكرو النص.

172
00:12:36,230 --> 00:12:42,440
‫سأقوم ببساطة بوضع القيمة المئوية F والقيمة.

173
00:12:42,710 --> 00:12:43,520
‫الآن هذا جيد.

174
00:12:43,520 --> 00:12:48,500
‫إذا استخدمت نوعًا مختلفًا من الإسهاب أو التحذير ، إذا كنت تعرف كيفية القيام بهذه الأشياء.

175
00:12:48,950 --> 00:12:49,960
‫هذا جيد تمامًا.

176
00:12:49,970 --> 00:12:56,090
‫سأستخدم تحذيرًا هنا وأعلم أنك استخدمت أشياء مثل النسبة المئوية ونسقت السجل

177
00:12:56,090 --> 00:12:58,100
‫الخاص بك بقيمة سلسلة.

178
00:12:58,130 --> 00:13:04,300
‫النسبة المئوية F ، إذا لم تكن على علم ، هي كيف يمكنك تنسيق سجل واجهة المستخدم الخاص بك بقيمة عائمة.

179
00:13:04,310 --> 00:13:12,380
‫لذلك دعونا نجمع هذا ونعيده إلى المحرر ، سأقوم بفتح سجل الإخراج والضغط على تشغيل والتحقق من ذلك حيث يتم إرسال رسائل

180
00:13:12,380 --> 00:13:16,190
‫غير مرغوب فيها إلى سجل الإخراج برسائل لا حصر لها.

181
00:13:16,190 --> 00:13:19,000
‫سأقوم الآن بالنقر فوق منفذ العرض والضغط على مفتاح W.

182
00:13:19,010 --> 00:13:22,030
‫هناك قيمة خاصة بي للواحد الذي سأطلقه.

183
00:13:22,040 --> 00:13:23,180
‫لقد عاد إلى الصفر.

184
00:13:23,210 --> 00:13:26,570
‫سأضغط على المفتاح وهو سالب واحد.

185
00:13:26,570 --> 00:13:30,500
‫وإذا ضغطنا على كليهما في نفس الوقت ، نحصل على صفر.

186
00:13:30,500 --> 00:13:33,620
‫ولذا فهو بالضبط كما توقعنا.

187
00:13:33,800 --> 00:13:34,650
‫في احسن الاحوال.

188
00:13:34,670 --> 00:13:35,390
‫حسنا.

189
00:13:35,390 --> 00:13:39,320
‫لذلك في هذا الفيديو ، قمنا بإعداد البركة الخاصة بنا للتعامل مع بعض مدخلات المستخدم.

190
00:13:39,560 --> 00:13:46,180
‫تحدثنا عن تعيينات الوصول وربطنا وظيفة النقل الخاصة بنا برسم خرائط الوصول إلى الأمام.

191
00:13:46,190 --> 00:13:53,300
‫قمنا بعد ذلك بطباعة قيمة الوصول هذه باستخدام سجل YUI في وظيفة MOVE الخاصة بنا ، لكننا في الواقع نرغب في نقل الخزان

192
00:13:53,300 --> 00:13:57,130
‫الخاص بنا بدلاً من مجرد طباعة بعض القيم إلى سجل الإخراج.

193
00:13:57,140 --> 00:14:02,720
‫لذلك في المحاضرات القادمة ، سنقوم بإعداده حتى نتمكن بالفعل من البدء في تحريك خزان الوقود.

194
00:14:03,290 --> 00:14:04,310
‫سأراك قريبا.

