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