در این مطلب، ویدئو آموزش بازی Python Kivy 6 – ایجاد یک بازی کامل با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 1:50:33
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,260 –> 00:00:03,840
سلام بچه ها به آخرین آموزش بازی تلویزیونی خوش آمدید،
2
00:00:03,840 –> 00:00:06,569
بنابراین در آموزش های قبلی
3
00:00:06,569 –> 00:00:08,280
ما مجموعه ای از مفاهیم
4
00:00:08,280 –> 00:00:10,889
اساسی برای توسعه بازی ها را یاد گرفتیم و در
5
00:00:10,889 –> 00:00:12,719
این آموزش
6
00:00:12,719 –> 00:00:14,820
با استفاده از همه چیزهایی که
7
00:00:14,820 –> 00:00:16,650
آموخته ایم برای ایجاد یک بازی تا حدودی مناسب همه چیز را جمع بندی می کنیم.
8
00:00:16,650 –> 00:00:19,470
بازیای که میخواهیم بسازیم،
9
00:00:19,470 –> 00:00:22,470
از نوع بازیهای مهاجمان بیگانه
10
00:00:22,470 –> 00:00:23,789
است، بنابراین برای کسانی از شما که
11
00:00:23,789 –> 00:00:25,769
با آن آشنایی ندارید، اساساً مانند
12
00:00:25,769 –> 00:00:27,750
جایی است که یک توپ کوچک در
13
00:00:27,750 –> 00:00:30,359
پایین صفحه دارید و کشتیهای بیگانه در
14
00:00:30,359 –> 00:00:32,130
حال پایین آمدن هستند. از بالای
15
00:00:32,130 –> 00:00:34,440
صفحه فقط می توانید به چپ یا راست حرکت کنید،
16
00:00:34,440 –> 00:00:36,510
به عبارت دیگر شما فقط می توانید
17
00:00:36,510 –> 00:00:38,550
روی زمین بمانید و باید به
18
00:00:38,550 –> 00:00:40,530
کشتی های بیگانگان قبل از اینکه به
19
00:00:40,530 –> 00:00:44,160
زمین برسند شلیک کنید هر بار که هر بار که
20
00:00:44,160 –> 00:00:45,690
کشتی بیگانگان به زمین می رسد زمین
21
00:00:45,690 –> 00:00:48,180
با موفقیت یک زندگی را پس
22
00:00:48,180 –> 00:00:50,780
از تعداد معینی از زندگی از دست می دهید، بازی به پایان می رسد
23
00:00:50,780 –> 00:00:53,610
هر بار که شما یکی از این کشتی ها را می کشید
24
00:00:53,610 –> 00:00:55,649
امتیاز شما افزایش می یابد، بنابراین اساساً این
25
00:00:55,649 –> 00:00:56,969
چیزی است که ما در حال تلاش برای ایجاد یک
26
00:00:56,969 –> 00:01:00,390
خلاصه سریع هستیم.
27
00:01:00,390 –> 00:01:02,730
مفاهیم اساسی توسعه یک بازی
28
00:01:02,730 –> 00:01:06,420
با توجه به تلویزیون را به دست آوردیم، بنابراین نحوه انجام این
29
00:01:06,420 –> 00:01:08,670
مفاهیم ضروری در تلویزیون را در
30
00:01:08,670 –> 00:01:10,799
مورد زمان بندی یاد گرفتیم، بنابراین یاد گرفتیم که چگونه
31
00:01:10,799 –> 00:01:12,960
یک تابع را برنامه ریزی کنیم تا هر چند وقت یکبار اجرا شود،
32
00:01:12,960 –> 00:01:15,450
به ویژه یاد گرفتیم که چگونه
33
00:01:15,450 –> 00:01:18,990
یک تابع را در هر فریم اجرا کنیم. و
34
00:01:18,990 –> 00:01:21,150
اگر به یاد داشته باشید ما فقط از
35
00:01:21,150 –> 00:01:24,270
تابع فاصله زمانی زمان بندی نقطه ساعت استفاده کردیم و
36
00:01:24,270 –> 00:01:27,210
برای تعداد ثانیه ها از صفر گذشتیم،
37
00:01:27,210 –> 00:01:30,360
یعنی هر فریمی را که در مورد رندرینگ نیز یاد گرفتیم این تابع را فراخوانی کنیم
38
00:01:30,360 –> 00:01:31,890
که
39
00:01:31,890 –> 00:01:35,220
یکی دیگر از مفاهیم اصلی در توسعه بازی ها است،
40
00:01:35,220 –> 00:01:37,860
به طوری که ما رندر یا رندر می کنیم. ما در کلید V ترسیم می کنیم
41
00:01:37,860 –> 00:01:41,220
این است که هر ویجت دارای یک
42
00:01:41,220 –> 00:01:43,290
ویژگی بوم است و شما اساساً
43
00:01:43,290 –> 00:01:46,680
دستورالعمل هایی را به آن بوم اضافه می کنید و
44
00:01:46,680 –> 00:01:49,189
دستورالعمل هایی مانند خط مستطیل و غیره وجود دارد،
45
00:01:49,189 –> 00:01:51,990
ما به طور خاص از دستورالعمل مستطیل استفاده می
46
00:01:51,990 –> 00:01:56,310
کنیم زیرا دارای یک ویژگی است زیرا
47
00:01:56,310 –> 00:01:58,799
می توانید آن را به یک لینک مرتبط کنید. یک
48
00:01:58,799 –> 00:02:00,719
تصویر به طوری که به جای یک
49
00:02:00,719 –> 00:02:03,479
مستطیل ساده، اساساً تصویری است
50
00:02:03,479 –> 00:02:07,380
که در آنجا کشیده می شود، ما
51
00:02:07,380 –> 00:02:10,410
برخورد را نیز پوشش دادیم، به ویژه ما یک کار بسیار اساسی انجام دادیم.
52
00:02:10,410 –> 00:02:13,200
شکل برخورد به
53
00:02:13,200 –> 00:02:15,300
برخورد جعبه مرزی دسترسی پیدا کنید که در آن
54
00:02:15,300 –> 00:02:17,610
اساسا مستطیل ها را نمی توان
55
00:02:17,610 –> 00:02:21,030
چرخاند، ما همچنین صداهایی را انجام دادیم، بنابراین شما
56
00:02:21,030 –> 00:02:23,640
یاد گرفتید که چگونه صدا را پخش کنید، اینها
57
00:02:23,640 –> 00:02:28,349
اصول اولیه ایجاد یک بازی هستند، همانطور
58
00:02:28,349 –> 00:02:29,790
که قبلاً ذکر کردم اکنون از آنجایی که
59
00:02:29,790 –> 00:02:31,410
ما آن اصول اولیه را یاد گرفتیم، می توانیم از آن برای
60
00:02:31,410 –> 00:02:35,100
ساختن بازی مهاجمان بیگانه خود استفاده کنید، بنابراین
61
00:02:35,100 –> 00:02:37,410
بیایید یک برنامه کوچک در اینجا داشته باشیم
62
00:02:37,410 –> 00:02:40,769
،
63
00:02:40,769 –> 00:02:42,090
اگر میخواهید پروژهای بسازید که
64
00:02:42,090 –> 00:02:44,010
فوقالعاده پیش پاافتاده نیست، همیشه باید یک طرح ایجاد کنید.
65
00:02:44,010 –> 00:02:46,140
در حال
66
00:02:46,140 –> 00:02:48,120
حاضر به نوعی در حال ایجاد یک محصول کامل هستیم
67
00:02:48,120 –> 00:02:50,819
به این معنا که خیلی بد خواهد بود،
68
00:02:50,819 –> 00:02:53,760
اما با این وجود کامل است،
69
00:02:53,760 –> 00:02:56,220
بنابراین ارزش کمی زمان برای فکر کردن
70
00:02:56,220 –> 00:02:58,350
و برنامه ریزی را دارد. من قبلاً
71
00:02:58,350 –> 00:03:00,090
قبل از شروع ضبط این برنامه کمی برنامه ریزی کرده ام
72
00:03:00,090 –> 00:03:04,250
ویدیو، پس اجازه دهید آن را با شما به اشتراک بگذارم،
73
00:03:05,900 –> 00:03:09,209
خب، خوب است، ما از اینجا شروع
74
00:03:09,209 –> 00:03:11,569
می کنیم، این یک نمودار کوچک است که
75
00:03:11,569 –> 00:03:14,400
اساساً به شما نشان می دهد که
76
00:03:14,400 –> 00:03:17,130
چگونه ساختار کلاس ها و ویژگی های من
77
00:03:17,130 –> 00:03:19,350
تشکیل می شود، بنابراین من یک ویجت بازی خواهم داشت.
78
00:03:19,350 –> 00:03:21,359
و ما می دانیم که آن
79
00:03:21,359 –> 00:03:23,609
ویجت بازی دارای یک بوم است و ما یکسری
80
00:03:23,609 –> 00:03:25,500
دستورالعمل های نقاشی در داخل
81
00:03:25,500 –> 00:03:25,980
بوم داریم،
82
00:03:25,980 –> 00:03:28,530
اکنون از این دستورالعمل های طراحی
83
00:03:28,530 –> 00:03:30,000
به ویژه از
84
00:03:30,000 –> 00:03:32,160
دستورالعمل ترسیم مستطیل استفاده می کنیم و دارای
85
00:03:32,160 –> 00:03:34,859
ویژگی هایی مانند اندازه موقعیت
86
00:03:34,859 –> 00:03:36,720
و به خاطر سپردن منبع است. منبع
87
00:03:36,720 –> 00:03:39,560
اساساً یک رشته است که می گوید کدام فایل
88
00:03:39,560 –> 00:03:42,720
باید در داخل مستطیل کشیده شود و
89
00:03:42,720 –> 00:03:45,540
سپس به بازی ویجت
90
00:03:45,540 –> 00:03:47,820
و موجودیت ها می دهیم در واقع این یک مجموعه است که
91
00:03:47,820 –> 00:03:49,769
اساساً یک مجموعه خواهد بود و ما
92
00:03:49,769 –> 00:03:52,230
این موارد را به نام موجودیت ها در داخل
93
00:03:52,230 –> 00:03:53,670
آن قرار می دهیم. کلاس دیگری که
94
00:03:53,670 –> 00:03:55,709
اکنون خودمان را تعریف می کنیم، یک موجود
95
00:03:55,709 –> 00:03:58,769
اساساً یک موقعیت یک اندازه و یک منبع است که به
96
00:03:58,769 –> 00:04:01,140
نوعی مانند دستورالعمل طراحی است، اما
97
00:04:01,140 –> 00:04:03,060
ویژگی دیگری نیز دارد
98
00:04:03,060 –> 00:04:05,370
که به دستورالعمل ترسیم اشاره می کند، بنابراین
99
00:04:05,370 –> 00:04:08,160
موجودیت دستورالعمل ترسیمی را
100
00:04:08,160 –> 00:04:10,709
که آن را نشان می دهد از طریق
101
00:04:10,709 –> 00:04:12,209
دلیل آن این است که وقتی
102
00:04:12,209 –> 00:04:16,019
اندازه موقعیت یا منبع موجودیت تغییر می کند، ما همچنین
103
00:04:16,019 –> 00:04:18,660
می خواهیم موقعیت دستورالعمل های ترسیم مرتبط آن را به روز کنیم.
104
00:04:18,660 –> 00:04:21,000
n منبع اندازه گیری بنابراین
105
00:04:21,000 –> 00:04:23,460
این دو همیشه در حال آواز خواندن هستند به
106
00:04:23,460 –> 00:04:25,650
عبارت دیگر مقدار داده واقعی
107
00:04:25,650 –> 00:04:26,889
موجودیت در قرعه کشی
108
00:04:26,889 –> 00:04:28,870
یا نمایش بصری در
109
00:04:28,870 –> 00:04:31,599
همگام می ماند، بنابراین ما یک دسته از موجودیت ها را
110
00:04:31,599 –> 00:04:34,900
در داخل موجودات در واقع
111
00:04:34,900 –> 00:04:37,990
ویجت بازی داریم که معماری سطح بالایی
112
00:04:37,990 –> 00:04:40,569
است. من همچنین این
113
00:04:40,569 –> 00:04:44,680
نمودار را ترسیم کرده ام که نمودار کلاسی است که نشان می دهد
114
00:04:44,680 –> 00:04:46,960
آنچه را که می خواهیم پیاده سازی کنیم، بنابراین ما
115
00:04:46,960 –> 00:04:48,729
این کلاس ویجت بازی را داریم که از آن به
116
00:04:48,729 –> 00:04:51,509
ارث می رسد، آیا شما قبلاً در مورد این موضوع می دانید
117
00:04:51,509 –> 00:04:54,699
این دارای یک موجودیت است که مجموعه ای از
118
00:04:54,699 –> 00:04:56,770
تمام موجودات است که در بازی
119
00:04:56,770 –> 00:04:59,349
ما یک امتیاز داریم و یک ویژگی امتیاز داریم
120
00:04:59,349 –> 00:05:01,090
که اساساً یک گیرنده و
121
00:05:01,090 –> 00:05:03,250
تنظیم کننده برای این امتیاز است به طوری
122
00:05:03,250 –> 00:05:06,610
که تعداد امتیازهای ما را ردیابی می کند.
123
00:05:06,610 –> 00:05:08,770
ما چند روش داریم روش add entity
124
00:05:08,770 –> 00:05:12,310
اساساً به شما امکان می دهد یک موجودیت را اضافه کنید.
125
00:05:12,310 –> 00:05:15,099
زمانی که یک
126
00:05:15,099 –> 00:05:17,949
موجودیت را به بازی اضافه میکنید، بازی این کار را انجام میدهد، بنابراین واضح است که
127
00:05:17,949 –> 00:05:21,610
آن را به این موجودیتها به
128
00:05:21,610 –> 00:05:24,939
ویژگی entities اضافه میکنید، اما ما همچنین
129
00:05:24,939 –> 00:05:27,490
دستورالعملها را دستورالعمل ترسیم مستطیل
130
00:05:27,490 –> 00:05:29,199
t میگیریم. آن را وارد کرده و
131
00:05:29,199 –> 00:05:31,000
به بوم بودجه بازی اضافه کنید
132
00:05:31,000 –> 00:05:34,960
و به همین ترتیب وقتی یک موجودیت را
133
00:05:34,960 –> 00:05:37,389
از ویجت بازی حذف می کنید
134
00:05:37,389 –> 00:05:40,089
، دستورالعمل آن را از روی بوم حذف می کنیم و
135
00:05:40,089 –> 00:05:41,500
سپس دو عملکرد برای بررسی
136
00:05:41,500 –> 00:05:43,659
برخورد داریم، اولی که این دو را رد کنید.
137
00:05:43,659 –> 00:05:45,759
موجودیتها و به شما میگوید که آیا آنها
138
00:05:45,759 –> 00:05:47,379
با دومی برخورد میکنند یا نه، شما آن را یک
139
00:05:47,379 –> 00:05:49,150
نهاد میدهید و همه موجودیتهایی را
140
00:05:49,150 –> 00:05:50,949
که با آن موجودیت برخورد میکنند برمیگرداند.
141
00:05:50,949 –> 00:05:52,810
142
00:05:52,810 –> 00:05:55,659
143
00:05:55,659 –> 00:05:58,779
class و این
144
00:05:58,779 –> 00:06:01,479
اساساً همان چیزی است که من در اینجا مرور کردم، اما
145
00:06:01,479 –> 00:06:03,490
به صورت کد دارای
146
00:06:03,490 –> 00:06:07,419
ویژگی های منبع اندازه موقعیت و ویژگی های دستورالعمل است و
147
00:06:07,419 –> 00:06:10,020
سپس دارای برخی ویژگی ها برای آنها است، بنابراین
148
00:06:10,020 –> 00:06:12,639
به یاد داشته باشید که ویژگی ها
149
00:06:12,639 –> 00:06:15,400
فقط به عنوان و تنظیم کننده هستند و هر زمان که
150
00:06:15,400 –> 00:06:17,560
اندازه موقعیت ویژگی منبع تنظیم شده است که
151
00:06:17,560 –> 00:06:19,770
ما می خواهیم
152
00:06:19,770 –> 00:06:23,500
ویژگی مربوطه را در دستورالعمل به روز کنیم و
153
00:06:23,500 –> 00:06:25,839
همچنین این تابع کوچک به نام
154
00:06:25,839 –> 00:06:29,289
توقف فراخوانی را داریم و همه موجودیت ها باید
155
00:06:29,289 –> 00:06:31,389
این را تعریف کنند تا زمانی که
156
00:06:31,389 –> 00:06:33,729
هر چیزی را که موجودیت برنامه ریزی کرده است نامیده می شود،
157
00:06:33,729 –> 00:06:36,159
باید در این تابع متوقف شود و
158
00:06:36,159 –> 00:06:39,729
بعداً استفاده از آن را خواهید دید،
159
00:06:39,729 –> 00:06:40,420
کلاس بعدی که ما می خواهیم
160
00:06:40,420 –> 00:06:42,760
استخراج کنیم، یک کلاس bullet است و
161
00:06:42,760 –> 00:06:46,510
یک موجودیت خواهد بود و یک
162
00:06:46,510 –> 00:06:49,000
ویژگی speed و یک خاصیت برای آن
163
00:06:49,000 –> 00:06:51,670
و زمانی که آن را
164
00:06:51,670 –> 00:06:52,930
ساختید باید موقعیت را به آن بگویید اما یک
165
00:06:52,930 –> 00:06:56,650
سرعت پیشفرض دریافت میکنید بنابراین پس از ساخت
166
00:06:56,650 –> 00:06:58,570
شروع میکنیم گلوله شروع به حرکت به سمت
167
00:06:58,570 –> 00:07:01,720
بالا میکند، باید توجه داشته باشم که یک
168
00:07:01,720 –> 00:07:04,870
متغیر بازی جهانی وجود دارد که به ویجت بازی
169
00:07:04,870 –> 00:07:07,630
به این ترتیب است که همه چیز
170
00:07:07,630 –> 00:07:09,910
میداند که کجا باید کشیده شوند و
171
00:07:09,910 –> 00:07:12,100
مواردی از این قبیل، بنابراین پس از ساخت
172
00:07:12,100 –> 00:07:14,800
، وقتی گلوله از پنجره بیرون است، شروع به حرکت به سمت گلوله
173
00:07:14,800 –> 00:07:16,480
میکنیم،
174
00:07:16,480 –> 00:07:19,350
همه توابع فاصله زمانبندی شده را لغو میکنیم
175
00:07:19,350 –> 00:07:22,090
تا گلوله با
176
00:07:22,090 –> 00:07:25,510
استفاده از یک رویداد فاصله زمانبندیشده به سمت بالا حرکت میکنیم و
177
00:07:25,510 –> 00:07:28,090
با فراخوانی
178
00:07:28,090 –> 00:07:32,680
عملکرد stomp callback گلولهها را لغو میکنیم، پس از انجام این کار
179
00:07:32,680 –> 00:07:35,410
، گلوله را از روی بوم حذف میکنیم تا
180
00:07:35,410 –> 00:07:39,850
حالا وقتی گلوله با یک دشمن برخورد میکند.
181
00:07:39,850 –> 00:07:42,400
ما می خواهیم این کار را انجام دهیم این است که با فراخوانی آن،
182
00:07:42,400 –> 00:07:44,050
تماس های آن را مانند قبل متوقف
183
00:07:44,050 –> 00:07:46,600
کنیم و سپس می خواهیم آن را از
184
00:07:46,600 –> 00:07:51,420
روی بوم حذف کنیم، خوب است، بنابراین ما طرح خود را در اینجا
185
00:07:51,420 –> 00:07:54,580
بسیار ساده دریافت کردیم و اجازه دهید ادامه دهیم و
186
00:07:54,580 –> 00:07:58,300
شروع به اجرای آن کنیم،
187
00:07:58,300 –> 00:08:01,600
پس بیایید کمی آن را پاک کنیم.
188
00:08:01,600 –> 00:08:04,840
ما اینجا این تست
189
00:08:04,840 –> 00:08:06,640
را داریم که نشان می دهد که آیا در حال برخورد هستیم یا نه،
190
00:08:06,640 –> 00:08:11,890
دیگر به آن نیازی نداریم و چه چیز دیگری همچنین
191
00:08:11,890 –> 00:08:15,430
باید ذکر کنم که من این بازیکن و
192
00:08:15,430 –> 00:08:17,260
آن پینگ جی دشمنی است که G
193
00:08:17,260 –> 00:08:20,170
را قبلاً داشتیم یا آن شکلک های زشت.
194
00:08:20,170 –> 00:08:22,420
چهره هایی که کشیدم از شر آن ها خلاص شدم و
195
00:08:22,420 –> 00:08:27,390
اساساً هنرهایی دارم که
196
00:08:27,390 –> 00:08:31,810
داخل این پوشه دارایی ها کشیدم، بنابراین یک
197
00:08:31,810 –> 00:08:34,299
پس زمینه زیبا کشیدم، گلوله،
198
00:08:34,299 –> 00:08:36,130
دشمن، انفجار کشیدم، همه این ها را در
199
00:08:36,130 –> 00:08:38,320
Adobe Illustrator کشیدم و یک پخش کننده ترسیم کردم.
200
00:08:38,320 –> 00:08:40,539
هنوز عالی نیست اما بهتر
201
00:08:40,539 –> 00:08:43,840
از لبخندی است که قبلاً داشتم و
202
00:08:43,840 –> 00:08:45,910
همچنین تعدادی صدا را دانلود کردم یکی برای
203
00:08:45,910 –> 00:08:48,160
انفجار یکی برای گلوله و موسیقی
204
00:08:48,160 –> 00:08:49,870
برای موسیقی پس زمینه همه آنها
205
00:08:49,870 –> 00:08:51,790
موج هستند زیرا به دلایلی در
206
00:08:51,790 –> 00:08:53,470
رایانه من صدای
207
00:08:53,470 –> 00:08:54,190
Apio
208
00:08:54,190 –> 00:08:56,290
T وجود دارد. V فقط می تواند wipe ها را پخش کند و من در حال حاضر
209
00:08:56,290 –> 00:08:58,540
سعی نمی کنم برای
210
00:08:58,540 –> 00:08:59,860
فهمیدن این موضوع وقت بگذارم، بنابراین من فقط از امواج استفاده می کنم،
211
00:08:59,860 –> 00:09:02,920
212
00:09:02,920 –> 00:09:06,009
بنابراین اول از همه بیایید جلو برویم و
213
00:09:06,009 –> 00:09:07,810
شروع به تعریف این کلاس ها کنیم
214
00:09:07,810 –> 00:09:13,720
، من نمودار خود را خواهم گذاشت. من
215
00:09:13,720 –> 00:09:16,509
می خواهم نمودار کلاس خود را
216
00:09:16,509 –> 00:09:19,149
در کنار اینجا قرار دهم تا بتوانم
217
00:09:19,149 –> 00:09:23,199
در حالی که در حال تعریف چیزها هستم به آن نگاه کنم.
218
00:09:23,199 –> 00:09:25,529
219
00:09:25,529 –> 00:09:28,029
همه
220
00:09:28,029 –> 00:09:33,879
چیزهای خوب پس بیایید بدویم من دوست دارم
221
00:09:33,879 –> 00:09:35,699
بدوم فقط ببینم الان در
222
00:09:35,699 –> 00:09:38,980
کجا هستیم پس مثل قبل است
223
00:09:38,980 –> 00:09:40,930
که بازیکن و دشمن را داریم به جز این مرد
224
00:09:40,930 –> 00:09:42,930
بیایید حذفش کنیم و دیگر به او نیاز
225
00:09:42,930 –> 00:09:48,519
نداریم. دشمن نرم بیایید
226
00:09:48,519 –> 00:09:56,050
ببینیم به کجا دیگر به دشمن ارجاع داده شده است،
227
00:09:56,050 –> 00:09:59,589
به هیچ جای دیگری ارجاع داده نشده است، خوب ما فقط
228
00:09:59,589 –> 00:10:04,509
آن را حذف می کنیم و آن را اجرا می کنیم مطمئن شوید که
229
00:10:04,509 –> 00:10:06,430
او مشکلی ندارد، بنابراین ما فقط
230
00:10:06,430 –> 00:10:09,610
پخش کننده را داریم اما آن شکلک زشت دیگر
231
00:10:09,610 –> 00:10:11,560
وجود ندارد، بیایید لینک آن بازیکن را به روز کنیم.
232
00:10:11,560 –> 00:10:15,990
حدس می زنم این یک
233
00:10:15,990 –> 00:10:22,089
پخش کننده اسلش دارایی نقطه PNG و سپس خواهد بود
234
00:10:22,089 –> 00:10:27,540
بازیکنی است که خیلی شیک به نظر می رسد خوب خوب است،
235
00:10:27,540 –> 00:10:32,070
بیایید حدس بزنیم در مرحله بعد بیایید
236
00:10:32,070 –> 00:10:35,160
جلو برویم و مراقب امتیاز باشیم، مطمئن باشید
237
00:10:35,160 –> 00:10:35,880
که چرا
238
00:10:35,880 –> 00:10:41,580
یک امتیاز ایجاد نمی کنیم، بنابراین
239
00:10:41,580 –> 00:10:45,450
برای انجام آن باید از هسته PV که فکر می کردم به آن بروم
240
00:10:45,450 –> 00:10:53,190
برچسب اصلی ناف تلویزیون uix بالا،
241
00:10:53,190 –> 00:10:56,280
خوب اینگونه است که میتوانید
242
00:10:56,280 –> 00:11:03,510
متن را روی بوم بکشید، بنابراین ما نیاز داریم که حالا
243
00:11:03,510 –> 00:11:08,340
آنچه را که باید ایجاد کنیم، خوب ببینیم،
244
00:11:08,340 –> 00:11:10,050
من آن را خیلی سریع
245
00:11:10,050 –> 00:11:13,040
اینجا آزمایش میکنم، بنابراین میخواهم یک عکس ایجاد کنم. برچسب اصلی
246
00:11:13,040 –> 00:11:21,870
با تست یا برچسب خوب است، سپس شما میتوانید
247
00:11:21,870 –> 00:11:27,980
بهروزرسانی تماس را روی آن دریافت کنید و سپس باید آنها را به
248
00:11:27,980 –> 00:11:35,160
اینجا منتقل کنید و سپس اجازه دهید فقط
249
00:11:35,160 –> 00:11:37,590
ایجاد کنیم، من به این متغیر نیازی ندارم
250
00:11:37,590 –> 00:11:44,060
در حال حاضر مستطیل کد من را در اینجا کپی میکند،
251
00:11:44,060 –> 00:11:47,340
بنابراین برای منبع، نه ما
252
00:11:47,340 –> 00:11:51,030
منبعی را که میخواهید بافت را برای بافت نمیخواهید،
253
00:11:51,030 –> 00:11:52,230
ما از بافت
254
00:11:52,230 –> 00:11:56,670
برچسب هسته برای موقعیت استفاده میکنیم که آن را
255
00:11:56,670 –> 00:12:01,440
بیرون میگذاریم، حدس میزنم 300 300 باشد، بنابراین میتوانم آن را
256
00:12:01,440 –> 00:12:02,820
برای اندازهای که میخواهید بسازید، ببینم.
257
00:12:02,820 –> 00:12:07,290
اندازه برچسبها، اندازه بافت برچسبهای اصلی
258
00:12:07,290 –> 00:12:10,920
و بیایید مطمئن شویم
259
00:12:10,920 –> 00:12:16,050
که یک te وجود دارد برچسب رنگ st بنابراین
260
00:12:16,050 –> 00:12:19,290
ما اکنون توانایی
261
00:12:19,290 –> 00:12:23,670
ترسیم متنی روی ویجت را داریم
262
00:12:23,670 –> 00:12:28,110
که در اینجا روی بوم داریم در حال حاضر
263
00:12:28,110 –> 00:12:30,180
می دانیم چگونه این کار را انجام دهیم بنابراین از
264
00:12:30,180 –> 00:12:31,560
شر آن خلاص
265
00:12:31,560 –> 00:12:37,759
خواهیم شد.
266
00:12:37,759 –> 00:12:44,100
اما آن را به تابعی به نام مجموعه امتیاز
267
00:12:44,100 –> 00:12:45,569
یا چیزی شبیه به
268
00:12:45,569 –> 00:12:51,959
آن منتقل کنید، بنابراین در ابتدا حدس
269
00:12:51,959 –> 00:12:54,269
میزنم که باید فکر کنم چه زمانی
270
00:12:54,269 –> 00:12:56,759
باید برچسب امتیاز
271
00:12:56,759 –> 00:12:58,620
را ایجاد کنیم، منطقی است که وقتی
272
00:12:58,620 –> 00:13:01,399
ویجت بازی برای اولین بار ساخته شد، آن را ایجاد کنیم. در اینجا
273
00:13:01,399 –> 00:13:04,559
پس از اینکه به تمام کلیدها گوش دادیم
274
00:13:04,559 –> 00:13:06,959
، ریشه را مقداردهی اولیه می کنیم، سوپرکلاس را مقداردهی اولیه می
275
00:13:06,959 –> 00:13:09,930
کنیم، به برخی از رویدادهای صفحه کلید گوش می دهیم
276
00:13:09,930 –> 00:13:14,819
و سپس این مرحله حرکت را داریم،
277
00:13:14,819 –> 00:13:16,680
همه اینها فکر نمی کنم به
278
00:13:16,680 –> 00:13:20,970
آن نیاز داشته باشیم، اما خوب، بیایید ادامه دهیم و انجام دهیم.
279
00:13:20,970 –> 00:13:24,749
درست اینجاست، پس بله، ما آن
280
00:13:24,749 –> 00:13:29,430
را اینجا
281
00:13:29,430 –> 00:13:36,629
282
00:13:36,629 –> 00:13:46,290
283
00:13:46,290 –> 00:13:51,389
انجام خواهیم داد.
284
00:13:51,389 –> 00:13:57,170
اکنون مانند آن و
285
00:13:57,170 –> 00:14:09,139
سپس برای تازه کردن برچسب و غیره ما دستورالعمل را ذخیره می کنیم
286
00:14:09,139 –> 00:14:16,259
همچنین نمره خوب است
287
00:14:16,259 –> 00:14:22,439
، مستطیل
288
00:14:22,439 –> 00:14:24,959
خواهد بود و بافت بافت برچسب خواهد بود و
289
00:14:24,959 –> 00:14:26,790
اندازه به اندازه بافت برچسب خواهد بود،
290
00:14:26,790 –> 00:14:29,550
همه چیز باید
291
00:14:29,550 –> 00:14:33,300
یکسان باشد بله، اکنون می رویم، اجازه دهید
292
00:14:33,300 –> 00:14:39,480
آن را در بالای صفحه قرار دهیم. گوشه سمت چپ بسیار خوب است، بنابراین ما
293
00:14:39,480 –> 00:14:42,179
آن را در گوشه بالا سمت چپ قرار می دهیم،
294
00:14:42,179 –> 00:14:45,300
بنابراین به جای 300 300، اجازه دهید
295
00:14:45,300 –> 00:14:48,870
آن را برای X قرار دهیم 0 و برای
296
00:14:48,870 –> 00:14:54,360
Y ما پنجره را انجام می دهیم که پنجره را وارد می کنم،
297
00:14:54,360 –> 00:14:54,839
298
00:14:54,839 –> 00:14:59,550
فقط مطمئن شوید که بله تا دریافت کنیم.
299
00:14:59,550 –> 00:15:02,310
ارتفاع پنجره را 50
300
00:15:02,310 –> 00:15:09,180
پیکسل پایین بیاورید، بنابراین ما یک امتیاز گرفتیم
301
00:15:09,180 –> 00:15:16,829
و شما یک پخش کننده دریافت کردید خوب خوب
302
00:15:16,829 –> 00:15:19,200
حالا بیایید بقیه کد امتیاز
303
00:15:19,200 –> 00:15:24,180
را تمام کنیم، بنابراین کاری که میخواهیم انجام دهیم این است که ببینیم
304
00:15:24,180 –> 00:15:26,820
آیا باید یک امتیاز ایجاد کنیم. بله، یک
305
00:15:26,820 –> 00:15:30,000
خاصیت برای امتیاز ایجاد کنید، بنابراین ما فقط
306
00:15:30,000 –> 00:15:31,680
می خواهیم یک ویژگی پایتون ایجاد کنیم،
307
00:15:31,680 –> 00:15:34,230
خوب بیایید یک متن مانند خصوصی
308
00:15:34,230 –> 00:15:38,790
برای آن ایجاد کنیم که در آن حل کنید ابتدا برابر با
309
00:15:38,790 –> 00:15:44,450
صفر است و سپس یک ویژگی امتیاز تعریف می کنیم
310
00:15:44,450 –> 00:15:49,010
و این کار را انجام می دهید.
311
00:15:49,010 –> 00:15:54,810
این یک ویژگی است که در کنار هم است
312
00:15:54,810 –> 00:16:00,240
من فقط نمره را برمی گردانم و سپس
313
00:16:00,240 –> 00:16:07,550
یک امتیاز دیگر را نیز تعریف می کنیم
314
00:16:07,550 –> 00:16:12,510
و اجازه دهید مطمئن شوم که این کار را انجام می دهم، بنابراین
315
00:16:12,510 –> 00:16:18,450
ارزش خود را به دست بیاورم و این
316
00:16:18,450 –> 00:16:21,060
بهتر می شود تا
317
00:16:21,060 –> 00:16:25,620
تعیین کننده این امتیاز و در تنظیمات باشد.
318
00:16:25,620 –> 00:16:30,470
ابتدا ویژگی خصوصی را تنظیم می کنیم
319
00:16:30,470 –> 00:16:33,420
و سپس باید
320
00:16:33,420 –> 00:16:36,540
دستورالعمل را به درستی به روز کنیم، بنابراین اول از
321
00:16:36,540 –> 00:16:39,949
همه به برچسب امتیاز خود
322
00:16:39,949 –> 00:16:42,630
می رویم، متن آن را به
323
00:16:42,630 –> 00:16:47,070
هر متن جدید به روز می کنیم.
324
00:16:47,070 –> 00:16:49,500
قرار است یک عدد صحیح باشد، بنابراین ما آن را بهروزرسانی میکنیم و
325
00:16:49,500 –> 00:16:52,430
آن را به حالت سرگردان بهروزرسانی
326
00:16:52,920 –> 00:16:58,859
میکنیم، Penn را به این شکل جلو
327
00:16:58,859 –> 00:17:00,749
میآوریم، بنابراین ما میخواهیم تنظیم کنیم که
328
00:17:00,749 –> 00:17:03,209
متن برچسب اصلی را بهروزرسانی کنیم و
329
00:17:03,209 –> 00:17:06,569
سپس به نمره میرویم.
330
00:17:06,569 –> 00:17:07,709
دستورالعمل
331
00:17:07,709 –> 00:17:13,459
ما به سمت بافت آن می رویم، بله،
332
00:17:13,459 –> 00:17:15,929
بافت دستورالعمل های امتیازی و ما
333
00:17:15,929 –> 00:17:23,159
آن را روی برچسب امتیاز تنظیم می کنیم، مطمئناً
334
00:17:23,159 –> 00:17:26,519
درست مثل قبل است و سپس
335
00:17:26,519 –> 00:17:28,529
به دستورالعمل نمره می رویم و
336
00:17:28,529 –> 00:17:30,149
شما آن را به روز می کنید اندازه به
337
00:17:30,149 –> 00:17:34,490
اندازه اندازه بافت باشد،
338
00:17:39,889 –> 00:17:43,620
بنابراین بیایید ببینیم این تنظیم کننده به روز می شود
339
00:17:43,620 –> 00:17:47,309
عدد صحیح امتیاز خصوصی
340
00:17:47,309 –> 00:17:49,350
سپس متن برچسب ها را به روز می کند و سپس
341
00:17:49,350 –> 00:17:53,159
بافت و اندازه
342
00:17:53,159 –> 00:17:55,679
دستورالعملی را که باید از آن مراقبت کند به روز می کند.
343
00:17:55,679 –> 00:17:58,110
حالا بیایید ادامه دهیم و این را
344
00:17:58,110 –> 00:18:03,870
آزمایش کنیم تا حدس می زنم آن را دقیقاً در اینجا آزمایش کنیم
345
00:18:03,870 –> 00:18:06,539
فقط اجازه دهید من فقط چاپ کنید نمی دانم
346
00:18:06,539 –> 00:18:11,029
چرا آن را دارم، بنابراین ما تنظیم
347
00:18:11,029 –> 00:18:17,909
خواهیم شد، ما فقط از چهار مساوی استفاده می کنیم، مثلا ده
348
00:18:17,909 –> 00:18:21,110
تا ببینیم آیا این کار می کند یا خیر
349
00:18:22,039 –> 00:18:27,480
و در آنجا به امتیاز ده می رسیم، بنابراین آن
350
00:18:27,480 –> 00:18:32,070
کار را با موفقیت انجام دادیم که کار می کند بنابراین
351
00:18:32,070 –> 00:18:35,909
امتیاز بگیرید تنظیم کننده امتیاز گرفتن و همه
352
00:18:35,909 –> 00:18:37,860
چیزهای مربوط به امتیاز، تمام صفحه کلید
353
00:18:37,860 –> 00:18:38,870
گوش دادن به
354
00:18:38,870 –> 00:18:42,299
اینها، ریشه را مجدداً شروع می کند و در اینجا
355
00:18:42,299 –> 00:18:44,340
ابتدا پخش کننده را می کشیم و همه
356
00:18:44,340 –> 00:18:46,559
آن چیزها در نهایت از
357
00:18:46,559 –> 00:18:49,169
شر پخش کننده خلاص می شویم زیرا
358
00:18:49,169 –> 00:18:51,450
یک کلاس موجودیت برای آن ایجاد می کنیم. بسیار خوب،
359
00:18:51,450 –> 00:18:54,240
بنابراین به نظر می رسد که در نمودار خود به عقب نگاه کنیم، به نظر می رسد
360
00:18:54,240 –> 00:18:58,620
که من تنظیمات امتیاز را به گونه ای مدیریت کردم که
361
00:18:58,620 –> 00:19:05,190
به خوبی کار می کند و حالا بیایید جلوتر برویم و
362
00:19:05,190 –> 00:19:06,540
این توابع موجودیت حذف موجودیت را تعریف کنیم، به گونه ای
363
00:19:06,540 –> 00:19:09,480
که گویی از قبل
364
00:19:09,480 –> 00:19:11,520
موجودیت را داریم، چرا خوب
365
00:19:11,520 –> 00:19:18,110
نیستیم، بنابراین اکنون آن را ریگ قرار می دهیم. ht در اینجا
366
00:19:19,460 –> 00:19:23,430
یک موجودیت می گیرد و آن را اضافه می کند، بنابراین
367
00:19:23,430 –> 00:19:28,920
به نهادهای جنوبی می رود و
368
00:19:28,920 –> 00:19:33,330
این موجودیت ها را به لیست خود اضافه
369
00:19:33,330 –> 00:19:38,660
370
00:19:41,000 –> 00:19:46,980
371
00:19:46,980 –> 00:19:52,680
می کند. آن را به عنوان یک عمومی به عنوان یک داشته باشید،
372
00:19:52,680 –> 00:19:55,560
اما من ندارم، من آن را ندارم
373
00:19:55,560 –> 00:19:57,990
، طبق قرارداد، آن را با یک خط زیر نشان نمیدهم، این یک
374
00:19:57,990 –> 00:19:59,660
چیز خصوصی است، واقعاً باید
375
00:19:59,660 –> 00:20:02,910
با یک زیرخط اضافه شود، بنابراین من به
376
00:20:02,910 –> 00:20:08,910
فکر اصلاح
377
00:20:08,910 –> 00:20:12,090
آن هستم، اما شاید بعداً در مورد آن چه فکر خواهیم کرد،
378
00:20:12,090 –> 00:20:16,860
بنابراین فعلاً ما باید
379
00:20:16,860 –> 00:20:20,010
موجودیت را تنظیم
380
00:20:20,010 –> 00:20:27,060
کنیم بسیار خوب است، بنابراین هویت، موجودیت
381
00:20:27,060 –> 00:20:29,640
را به مجموعه اضافه می کنیم، بیایید ببینیم آیا تکمیل خودکار
382
00:20:29,640 –> 00:20:44,250
به کمک می کند تا موجودیت ها خوب باشند، بنابراین
383
00:20:44,250 –> 00:20:46,470
تابع هویت ما موجودیت را به مجموعه ما اضافه می کند
384
00:20:46,470 –> 00:20:50,160
چه چیزی در مورد
385
00:20:50,160 –> 00:20:54,330
خود متغیر تعریف نشده پیوندی شکایت دارد.
386
00:20:54,330 –> 00:20:58,410
387
00:20:58,410 –> 00:21:01,340
388
00:21:02,650 –> 00:21:05,590
389
00:21:05,590 –> 00:21:07,300
390
00:21:07,300 –> 00:21:10,360
391
00:21:10,360 –> 00:21:11,650
به
392
00:21:11,650 –> 00:21:15,340
بوم ها به بیس بال بوم، بنابراین ما
393
00:21:15,340 –> 00:21:17,950
می خواهیم بوم را دریافت کنیم و سپس
394
00:21:17,950 –> 00:21:26,700
اضافه می کنیم، موجودیت ها را اضافه می کنیم و به
395
00:21:26,700 –> 00:21:36,430
آنجا می رویم و موجودیت آنچه که قرار است
396
00:21:36,430 –> 00:21:43,420
انجام دهد این است که بنابراین ما ابتدا می خواهیم ببینیم که آیا آن موجود است یا خیر
397
00:21:43,420 –> 00:21:44,770
و سپس آن را حذف می
398
00:21:44,770 –> 00:21:58,450
کنیم، بنابراین اگر موجودیت a، وارد آن شویم
399
00:21:58,450 –> 00:22:05,860
و آن را حذف کنیم، دستورالعمل آن را نیز حذف می
400
00:22:05,860 –> 00:22:20,950
کنیم بسیار خوب، بنابراین،
401
00:22:20,950 –> 00:22:23,020
موجودیت حذف را انجام دادیم، بیایید
402
00:22:23,020 –> 00:22:27,310
برخوردها و موجودیت های برخورد کننده
403
00:22:27,310 –> 00:22:31,290
را انجام دهیم، حدس می زنم این کار را انجام دهیم.
404
00:22:33,490 –> 00:22:43,150
بسیار خب، اجازه دهید n t1 و t2 خوب باشد، بنابراین
405
00:22:43,150 –> 00:22:45,490
ما این تابع برخورد را در اینجا داریم،
406
00:22:45,490 –> 00:22:48,880
این کار به دو تا دو تایی نیاز دارد که
407
00:22:48,880 –> 00:22:50,800
زوج اول یک موقعیت است، موجود
408
00:22:50,800 –> 00:22:54,010
دوم یک اندازه است، بنابراین ما فقط از این تابع اساسا استفاده می کنیم
409
00:22:54,010 –> 00:23:00,970
تا شما برگردید
410
00:23:00,970 –> 00:23:03,820
و این تماس چیست که فقط به آن
411
00:23:03,820 –> 00:23:13,420
برخورد می گویند، ما اساساً فقط
412
00:23:13,420 –> 00:23:17,440
آن تعریف را به اینجا منتقل می کنیم، من
413
00:23:17,440 –> 00:23:21,130
اساساً خوب است، شاید اگر فقط آن را منتقل کنم راحت تر باشد
414
00:23:21,130 –> 00:23:25,570
، چرا ما به این نیاز داریم که اینجا برخورد می کند، به
415
00:23:25,570 –> 00:23:29,620
هر حال می توانم آن را بگیرم و
416
00:23:29,620 –> 00:23:34,770
از شر آن خلاص شوم طلا یا یکی در اینجا و فقط
417
00:23:35,250 –> 00:23:39,210
آن را در اینجا دوباره تعریف کنید
418
00:23:46,610 –> 00:23:53,179
خوب پس ما 1x رک پیچیده شده 1y داریم 2x از
419
00:23:53,179 –> 00:23:56,480
راست به Y بنابراین دو مستطیل داریم
420
00:23:56,480 –> 00:23:58,340
XY بالای سمت چپ آنها برای یک
421
00:23:58,340 –> 00:24:00,220
ثانیه اول است و سپس با ارتفاع این همان
422
00:24:00,220 –> 00:24:03,140
چیزی است که الگوریتم ما به
423
00:24:03,140 –> 00:24:04,899
موجودیت ها بستگی دارد که چگونه آن اطلاعات را
424
00:24:04,899 –> 00:24:10,340
از آنها به خوبی دریافت کنیم. به عنوان مثال X
425
00:24:10,340 –> 00:24:13,070
اولین rec اولین
426
00:24:13,070 –> 00:24:17,779
موجودی خواهد بود که موقعیت آن را به دست می آوریم. بیایید ببینیم و
427
00:24:17,779 –> 00:24:19,639
اولین عنصر آن موقعیت را دریافت
428
00:24:19,639 –> 00:24:23,029
429
00:24:23,029 –> 00:24:26,149
430
00:24:26,149 –> 00:24:27,760
خواهیم کرد. فقط آن را به عنوان یک دوتایی نگه میداریم،
431
00:24:27,760 –> 00:24:32,779
بنابراین این کار را به این صورت انجام میدهیم که
432
00:24:32,779 –> 00:24:34,370
اولین عنصر موقعیت را دریافت میکنیم و
433
00:24:34,370 –> 00:24:37,279
آن یکی صحیح است و سپس recto و y
434
00:24:37,279 –> 00:24:40,130
دوباره در موجودیت اول خواهند بود،
435
00:24:40,130 –> 00:24:45,769
موقعیتی که عنصر دوم rec 2x خواهد بود.
436
00:24:45,769 –> 00:24:52,120
خوب باشد پس راست 2x خالی خواهد بود برای
437
00:24:52,120 –> 00:25:07,909
قرار دادن اولین عنصر rec در Y rec
438
00:25:07,909 –> 00:25:13,700
یکی با عرض اندازه خواهد بود
439
00:25:13,700 –> 00:25:18,559
اولین عنصر قرمز شکل ارتفاع
440
00:25:18,559 –> 00:25:23,840
عنصر دوم از اندازه درست خواهد بود،
441
00:25:23,840 –> 00:25:35,659
بیایید ببینیم که آیا این کار می کند، فکر می
442
00:25:35,659 –> 00:25:37,730
کنم باید این کار را درست انجام دهید تا این تابع
443
00:25:37,730 –> 00:25:40,909
true باشد اگر این دو چیز با هم
444
00:25:40,909 –> 00:25:43,490
برخورد می کنند و حالا اجازه دهید فکر کنم آیا ما
445
00:25:43,490 –> 00:25:47,630
به تابع دیگری در اینجا نیاز داریم، تابعی
446
00:25:47,630 –> 00:25:51,169
که اساساً همه موجوداتی را که با موجودیت خاص برخورد می کنند به شما می دهد،
447
00:25:51,169 –> 00:25:52,399
448
00:25:52,399 –> 00:25:55,309
بنابراین بیایید فکر کنیم که چه زمانی
449
00:25:55,309 –> 00:25:58,790
گلوله
450
00:25:58,790 –> 00:26:00,410
هر بار که می خواهیم حرکت می کند، حرکت می کند. برای اینکه بدانید با چه
451
00:26:00,410 –> 00:26:02,660
چیزی برخورد میکند و میخواهید بدانید
452
00:26:02,660 –> 00:26:05,710
که اگر هر یک از آنها دشمن است یا خیر،
453
00:26:05,710 –> 00:26:08,660
ما قطعاً میخواهیم بدانیم
454
00:26:08,660 –> 00:26:10,400
که بیایید ادامه دهیم و آن
455
00:26:10,400 –> 00:26:24,200
عملکرد را تعریف کنیم خیلی خوب است، بنابراین یک
456
00:26:24,200 –> 00:26:27,080
موجودیت را میگیریم و ما. همه موجودیتهایی را
457
00:26:27,080 –> 00:26:30,410
که با هم برخورد میکنند برمیگردانیم، بنابراین شما
458
00:26:30,410 –> 00:26:32,750
در ابتدا نتایج ما را به یک مجموعه خالی تبدیل میکنید
459
00:26:32,750 –> 00:26:38,390
و وقتی متوجه میشویم به آن مجموعه اضافه
460
00:26:38,390 –> 00:26:42,590
میکنیم، بنابراین برای هر موجودی
461
00:26:42,590 –> 00:26:47,780
در مجموعه موجودیتهایمان که میخواهیم
462
00:26:47,780 –> 00:26:52,040
ببینید اگر آن موجودیت
463
00:26:52,040 –> 00:27:04,400
با موجودیتهای تصویب شده برخورد کند، بنابراین اگر این
464
00:27:04,400 –> 00:27:06,410
موجودیت با موجودی که ارسال شده است برخورد کند
465
00:27:06,410 –> 00:27:09,200
466
00:27:09,200 –> 00:27:12,530
، در پایان او را به نتایج خود اضافه میکنیم، شما
467
00:27:12,530 –> 00:27:15,560
نتیجه ما را برمیگردانید، بنابراین اگر هیچ دریافت نکردید
468
00:27:15,560 –> 00:27:17,030
موجودیت هایی که با th برخورد می کنند
469
00:27:17,030 –> 00:27:19,010
موجودیت است، سپس شما یک مجموعه خالی دریافت خواهید کرد
470
00:27:19,010 –> 00:27:21,710
که منطقی است، اجازه دهید
471
00:27:21,710 –> 00:27:23,060
دوباره این را بررسی کنم، زیرا باید اشتباهات کوچکی انجام دهم،
472
00:27:23,060 –> 00:27:25,940
بنابراین این تابع
473
00:27:25,940 –> 00:27:28,880
یک موجودیت می گیرد و هدفش قرار
474
00:27:28,880 –> 00:27:30,380
است همه موجودیت هایی را که
475
00:27:30,380 –> 00:27:32,810
با این یکی برخورد می کنند برگرداند. بنابراین
476
00:27:32,810 –> 00:27:36,020
من ابتدا نتایج خود را خالی می کنم و سپس
477
00:27:36,020 –> 00:27:37,940
از تمام موجوداتی که داریم عبور می
478
00:27:37,940 –> 00:27:40,760
کنم اگر آن موجودیت با
479
00:27:40,760 –> 00:27:43,580
این موجودیت برخورد کند، ما اضافه کردیم، اوه خوب است که
480
00:27:43,580 –> 00:27:45,020
این را بررسی کردم، این به شما
481
00:27:45,020 –> 00:27:46,550
اهمیت بررسی مضاعف را نشان می دهد که گاهی اوقات
482
00:27:46,550 –> 00:27:47,660
از طریق اشکال زدایی به این موضوع پی می بردم.
483
00:27:47,660 –> 00:27:49,670
اما ممکن است کمی
484
00:27:49,670 –> 00:27:53,450
بیشتر طول بکشد، اما من برخورد خود را بررسی نمیکنم،
485
00:27:53,450 –> 00:27:55,250
زیرا این موجودیت نیز
486
00:27:55,250 –> 00:27:59,450
در لیست موجودیتها قرار خواهد
487
00:27:59,450 –> 00:28:05,900
گرفت، بنابراین اگر برخورد کرد و آنها یکسان نیستند،
488
00:28:05,900 –> 00:28:10,300
بنابراین مساوی نیست،
489
00:28:10,300 –> 00:28:13,850
بله میخواهید مطمئن شوید که این از نظر کیفیت
490
00:28:13,850 –> 00:28:16,300
فکر می کنم این اپراتور برابری هویت است،
491
00:28:16,300 –> 00:28:18,560
بله،
492
00:28:18,560 –> 00:28:21,200
بنابراین آنها نمی توانند یکسان باشند، سپس
493
00:28:21,200 –> 00:28:24,740
آن را عالی برمی
494
00:28:24,740 –> 00:28:27,470
گردانیم، بنابراین به نظر می رسد اجازه دهید دوباره
495
00:28:27,470 –> 00:28:29,360
بررسی کنم، اما به نظر می رسد که ما بازی w را تعریف کرده ایم.
496
00:28:29,360 –> 00:28:35,270
کلاس idget ما مجموعهای از
497
00:28:35,270 –> 00:28:37,460
موجودیتها داریم، یک امتیاز داریم، یک ویژگی امتیاز داریم
498
00:28:37,460 –> 00:28:39,590
که تمام متن ما را
499
00:28:39,590 –> 00:28:41,690
به درستی تنظیم میکند، در همه آنها یک
500
00:28:41,690 –> 00:28:44,090
موجودیت add داریم که موجودیت را به لیست ما اضافه میکند
501
00:28:44,090 –> 00:28:46,250
و همچنین دستورالعمل آن را به
502
00:28:46,250 –> 00:28:48,200
بوم اضافه میکند. حذف entity
503
00:28:48,200 –> 00:28:50,780
برعکس عمل میکند، ما برخورد داریم که به
504
00:28:50,780 –> 00:28:52,340
شما میگوید آیا دو موجودیت با یکدیگر برخورد میکنند یا نه،
505
00:28:52,340 –> 00:28:54,590
506
00:28:54,590 –> 00:28:57,140
همه موجودیتهایی را
507
00:28:57,140 –> 00:29:02,150
که با یک موجودیت خاص برخورد میکنند، به شما برمیگرداند، خوب حالا
508
00:29:02,150 –> 00:29:05,180
بیایید به تعریف کلاس موجودیت خود برویم
509
00:29:05,180 –> 00:29:07,790
و اجازه دهید بازخوانی کنم. حافظه من اینجاست،
510
00:29:07,790 –> 00:29:10,510
بنابراین فقط دستور منبع اندازه موقعیت
511
00:29:10,510 –> 00:29:13,670
را دارد، دارای ویژگی منبع اندازه موقعیت
512
00:29:13,670 –> 00:29:16,850
است و این ویژگی ها
513
00:29:16,850 –> 00:29:21,290
اساساً فقط مطمئن شوید که
514
00:29:21,290 –> 00:29:23,390
ویژگی مربوطه را در دستورالعمل canvas
515
00:29:23,390 –> 00:29:27,080
به روز کنید و خوب است، بنابراین بیایید
516
00:29:27,080 –> 00:29:34,310
کلاس موجودیت خود را در اینجا خیلی سریع تعریف کنیم،
517
00:29:34,310 –> 00:29:36,500
خوب من فکر می کنم در مورد قرار دادن این
518
00:29:36,500 –> 00:29:40,760
فایلها در فایلهای مختلف، فقط به این دلیل
519
00:29:40,760 –> 00:29:42,290
که کمی بزرگتر میشود، شاید
520
00:29:42,290 –> 00:29:44,990
بعداً آن را منتقل کنیم، خوب بله
521
00:29:44,990 –> 00:29:46,760
، کلاس موجودیت خود را پیدا میکنیم
522
00:29:46,760 –> 00:29:51,190
همین جا بیایید کمی از
523
00:29:51,190 –> 00:29:55,520
تکمیل خودکار در اینجا استفاده کنیم، بسیار خوب، موجودیت ما
524
00:29:55,520 –> 00:30:01,310
از هیچ چیز ارثی نمی برد و بیایید
525
00:30:01,310 –> 00:30:06,880
ببینیم آیا می خواهیم آن را مقداردهی اولیه کنیم، احتمالاً
526
00:30:12,200 –> 00:30:14,120
من فکر می کنم اگر بخواهیم آن را به هر چیزی مقداردهی اولیه کنیم،
527
00:30:14,120 –> 00:30:15,890
آیا حتی به یک init نیاز دارم
528
00:30:15,890 –> 00:30:21,890
روش برای آن شما می دانید اگر بعداً به آن نیاز داشته
529
00:30:21,890 –> 00:30:25,430
باشم چه کاری انجام می دهم، بعداً آن را مشکلی ایجاد
530
00:30:25,430 –> 00:30:28,310
نمی کنم در واقع بله من به یک init نیاز دارم که به چه چیزی
531
00:30:28,310 –> 00:30:34,220
فکر می کنم اما لازم نیست
532
00:30:34,220 –> 00:30:36,350
چیزی را در موقعیتی که ما آن را به اندازه پیش فرض قرار می دهیم ارسال کند.
533
00:30:36,350 –> 00:30:38,600
حدس میزنم
534
00:30:38,600 –> 00:30:41,660
پیشفرض و منبعی را که بهطور
535
00:30:41,660 –> 00:30:49,160
پیشفرض تنظیم میکنیم، مطمئن میشویم که
536
00:30:49,160 –> 00:30:49,880
هر چه
537
00:30:49,880 –> 00:30:54,560
که به نظر میرسد خوب این کار را انجام میدهیم، بنابراین خود نقطهای،
538
00:30:54,560 –> 00:30:57,670
موقعیت بهطور پیشفرض صفر صفر
539
00:30:57,670 –> 00:31:07,940
و اندازه آن خواهد بود، بگذارید ببینیم حدس میزنم
540
00:31:07,940 –> 00:31:17,480
50/50 باشد. منبع مهم نیست، بنابراین من
541
00:31:17,480 –> 00:31:19,670
حدس میزنم که منبع مزخرف باشد،
542
00:31:19,670 –> 00:31:21,320
وقتی منبع به موقع باشد، فقط
543
00:31:21,320 –> 00:31:25,010
یک منبع مستطیل سفید دریافت کنید،
544
00:31:25,010 –> 00:31:29,500
چیزهای مزخرفی است که پیدا نمیشود و
545
00:31:29,500 –> 00:31:38,950
سپس دستورالعمل یک دستورالعمل مستطیلی خواهد بود.
546
00:31:38,950 –> 00:31:47,150
مقام گفتن
547
00:31:47,150 –> 00:31:49,760
این مقام و تی اندازه او اندازه ما یکسان است
548
00:31:49,760 –> 00:31:50,930
549
00:31:50,930 –> 00:31:54,109
[تشویق] بسیار
550
00:31:55,440 –> 00:32:01,650
خوب، ما آنها را دریافت کردیم و بیایید برخی از
551
00:32:01,650 –> 00:32:06,760
ویژگی ها را برای آن ایجاد کنیم، بنابراین ابتدا موقعیت را تعریف می کنیم.
552
00:32:06,760 –> 00:32:18,700
اجازه دهید من فقط با نقطه ویرگول
553
00:32:18,700 –> 00:32:33,280
این C++ نیست و تنظیم کننده
554
00:32:33,280 –> 00:32:36,690
چه کاری را به خوبی انجام می دهد اول از همه این را به روز می کند.
555
00:32:36,690 –> 00:32:42,720
متغیر خصوصی و سپس آن را فراخوانی میکند
556
00:32:42,720 –> 00:32:54,240
و دستورالعمل را بهروزرسانی میکند،
557
00:32:54,240 –> 00:32:56,860
فقط کمی واضحتر توضیح دهید
558
00:32:56,860 –> 00:33:00,580
که چه اتفاقی میافتد، اکنون ادامه میدهم و
559
00:33:00,580 –> 00:33:04,840
خصوصیات باقیمانده را تعریف میکنم تا
560
00:33:04,840 –> 00:33:07,920
اندازه مشابه باشد
561
00:33:42,990 –> 00:33:48,450
و منبع نیز مشابه باشد.
562
00:34:27,210 –> 00:34:30,219
و دستورالعمل
563
00:34:30,219 –> 00:34:31,859
لازم نیست با آن کاری انجام دهیم،
564
00:34:31,859 –> 00:34:35,679
بنابراین وقتی هر موقعیتی آه می کشد
565
00:34:35,679 –> 00:34:37,840
منبع ما تغییر می کند دستورالعمل
566
00:34:37,840 –> 00:34:40,869
را نیز تغییر می دهیم به طوری که موجودیت را
567
00:34:40,869 –> 00:34:42,879
با نمایش بصری
568
00:34:42,879 –> 00:34:46,090
در بوم هماهنگ نگه می داریم، دستورالعمل اکنون
569
00:34:46,090 –> 00:34:48,429
متوقف می شود. callbacks باید هر چیزی را
570
00:34:48,429 –> 00:34:51,190
که نهاد به خوبی برنامه ریزی کرده است
571
00:34:51,190 –> 00:34:54,190
572
00:34:54,190 –> 00:34:55,300
573
00:34:55,300 –> 00:34:57,490
574
00:34:57,490 –> 00:34:59,560
لغو کند. بنابراین ما
575
00:34:59,560 –> 00:35:03,609
موجودیت را عالی انجام دادیم حالا بیایید جلو برویم و
576
00:35:03,609 –> 00:35:06,490
گلوله را تعریف کنیم، بنابراین برای تازه کردن
577
00:35:06,490 –> 00:35:08,650
حافظه ما از گلوله فقط یک
578
00:35:08,650 –> 00:35:11,920
ویژگی سرعت دارد که تعیین می کند چقدر سریع
579
00:35:11,920 –> 00:35:14,560
حرکت می کند و سپس سازنده
580
00:35:14,560 –> 00:35:19,270
سازنده um اساساً موقعیتی را پیدا
581
00:35:19,270 –> 00:35:24,000
می کند که در ابتدا در آنجا ایجاد شده است و
582
00:35:24,000 –> 00:35:27,430
سرعتی که به طور پیشفرض 300 میشود، بنابراین در
583
00:35:27,430 –> 00:35:28,750
هنگام ساخت، وقتی از پنجره بیرون میآید، شروع به حرکت به سمت
584
00:35:28,750 –> 00:35:32,200
بالا میکند، باید
585
00:35:32,200 –> 00:35:37,000
هر آنچه را که برنامهریزی کرده است لغو کند
586
00:35:37,000 –> 00:35:39,869
و در صورت برخورد درست از بازی حذف کند،
587
00:35:39,869 –> 00:35:42,970
فکر میکنم این را دریافت کردم، بنابراین ادامه میدهیم
588
00:35:42,970 –> 00:35:46,650
و شروع به پیاده سازی گلوله
589
00:35:47,520 –> 00:35:55,020
تعریف نشده گلوله کلاس یک موجودیت است
590
00:35:55,020 –> 00:36:05,170
خوب حالا بیایید برویم و این کار
591
00:36:05,170 –> 00:36:08,490
طول می کشد.
592
00:36:08,490 –> 00:36:12,190
593
00:36:12,190 –> 00:36:37,240
594
00:36:37,240 –> 00:36:40,450
فقط آن
595
00:36:40,450 –> 00:36:47,130
موقعیت را از والد به ارث می برد،
596
00:36:47,130 –> 00:36:51,430
بسیار عالی، اکنون در حال ایجاد است، حدس می زنم
597
00:36:51,430 –> 00:36:53,230
باید یک ویژگی برای سرعت ایجاد کنیم،
598
00:36:53,230 –> 00:36:56,560
فقط در صورتی که بخواهند
599
00:36:56,560 –> 00:37:01,060
آن را به خوبی تغییر دهند، نه اجازه دهید چیزهای اضافی ایجاد نکنیم
600
00:37:01,060 –> 00:37:03,190
که w لازم نیست اگر بخواهید
601
00:37:03,190 –> 00:37:05,380
گلوله فقط یک سرعت اولیه بگیرد و
602
00:37:05,380 –> 00:37:08,140
فقط آن سرعت را حفظ کند، بنابراین ما
603
00:37:08,140 –> 00:37:10,020
آن را در روز بعد ذخیره می کنیم و فراموش می کنیم
604
00:37:10,020 –> 00:37:11,260
خوب
605
00:37:11,260 –> 00:37:14,109
حالا بیایید گلوله را
606
00:37:14,109 –> 00:37:18,930
طوری رفتار کنیم که وقتی ایجاد شد.
607
00:37:18,930 –> 00:37:23,740
اساساً به سمت بالا حرکت می کند، بنابراین اجازه دهید به این فکر کنم
608
00:37:23,740 –> 00:37:27,790
که چگونه می توانیم این کار را انجام دهیم، بنابراین وقتی
609
00:37:27,790 –> 00:37:29,290
ساخته شد، فرض می کنیم
610
00:37:29,290 –> 00:37:31,960
که یک متغیر جهانی بازی داریم، بنابراین به
611
00:37:31,960 –> 00:37:34,540
محض اینکه ساخته شد،
612
00:37:34,540 –> 00:37:36,970
به متغیر بازی رفته و به بازی متصل می شود.
613
00:37:36,970 –> 00:37:42,460
متغیرها بیایید ببینیم بله برای
614
00:37:42,460 –> 00:37:45,190
متغیر بازی، باید
615
00:37:45,190 –> 00:37:49,420
به ویجت خود رویدادی بدهیم که هر صفحه
616
00:37:49,420 –> 00:37:50,859
فریم را فعال کند،
617
00:37:50,859 –> 00:37:52,900
این کاری است که باید انجام دهیم و سپس این
618
00:37:52,900 –> 00:37:55,239
چیز به آن متصل می شود، بنابراین
619
00:37:55,239 –> 00:37:57,190
فرض می کنیم که آن رویداد وجود دارد، بنابراین ما می
620
00:37:57,190 –> 00:37:58,839
خواهیم به متغیر بازی جهانی خود بروید، ما به
621
00:37:58,839 –> 00:38:02,229
رویداد فریم
622
00:38:02,229 –> 00:38:07,269
آن متصل میشویم و آنچه را که میخواهیم متصل کنیم،
623
00:38:07,269 –> 00:38:11,200
پاسخ تماس خودمان است، ما آن را یک مرحله جدید مینامیم.
624
00:38:11,200 –> 00:38:17,349
625
00:38:17,349 –> 00:38:20,499
626
00:38:20,499 –> 00:38:24,069
انجام دهید تا در واقع این ویجت را
627
00:38:24,069 –> 00:38:26,650
در fra ارائه دهید بیایید سریع این کار را
628
00:38:26,650 –> 00:38:31,269
انجام دهیم تا به داخل ویجت خود برگردیم و
629
00:38:31,269 –> 00:38:33,489
اینجا جایی که یک انتگرال را برنامه ریزی کردیم
630
00:38:33,489 –> 00:38:36,369
به جای اینکه هر فریمی
631
00:38:36,369 –> 00:38:41,259
را که می
632
00:38:41,259 –> 00:38:49,630
خواهیم فراخوانی کنیم مرحله حرکتی
633
00:38:49,630 –> 00:38:51,309
را برنامه ریزی کردیم. تابع سفارشی که در اینجا
634
00:38:51,309 –> 00:39:00,039
فریم اوکی نامیده میشود و کاری که انجام میدهد این
635
00:39:00,039 –> 00:39:12,940
است که یک رویداد را ارسال میکند، بنابراین
636
00:39:12,940 –> 00:39:14,769
نمیدانم در مورد ارسال رویداد صحبت کردم یا نه،
637
00:39:14,769 –> 00:39:18,519
اما در تلویزیون تا زمانی که کلاس شما
638
00:39:18,519 –> 00:39:20,229
از توزیعکننده رویداد
639
00:39:20,229 –> 00:39:23,529
ارث میبرد، کلاس ما از ویجت در ویجت ارث میبرد.
640
00:39:23,529 –> 00:39:25,869
توزیع کننده رویداد بنابراین به روش دیگری تنظیم کنید
641
00:39:25,869 –> 00:39:27,729
که ما از توزیع کننده رویداد کلاس های ویجت بازی را به ارث می بریم،
642
00:39:27,729 –> 00:39:30,430
بنابراین
643
00:39:30,430 –> 00:39:32,440
زمانی که از
644
00:39:32,440 –> 00:39:34,329
توزیع کننده رویداد ارث می برید، می توانید
645
00:39:34,329 –> 00:39:36,460
برای شما بسیار آسان است که رویدادهای خود را تعریف کنید
646
00:39:36,460 –> 00:39:37,839
و سپس زمانی که می خواهید آنها را ارسال
647
00:39:37,839 –> 00:39:40,420
کنید، فقط با خود تماس بگیرید. روش اعزام،
648
00:39:40,420 –> 00:39:45,160
بنابراین من به شما نشان خواهم داد تا خیلی
649
00:39:45,160 –> 00:39:47,319
سریع به شما نشان دهم. فرض می کنم که
650
00:39:47,319 –> 00:39:51,249
رویداد را دارم، بنابراین تنها کاری که انجام می دهید این است که این صید را بفروشید
651
00:39:51,249 –> 00:39:56,410
و سپس ارسال کنید اساساً
652
00:39:56,410 –> 00:40:00,039
به نام رویداد پاس می دهید بنابراین میخواهیم
653
00:40:00,039 –> 00:40:02,549
654
00:40:03,900 –> 00:40:09,390
در رویداد Fame ارسال کنیم، خیلی خوب
655
00:40:09,390 –> 00:40:14,670
، واقعاً به این چیز در اینجا نیاز ندارم،
656
00:40:14,670 –> 00:40:19,150
اما بله، من واقعاً به فاصله زمانی برنامهریزی شده نیاز
657
00:40:19,150 –> 00:40:20,890
ندارم، فقط میتوانم یک خط درست
658
00:40:20,890 –> 00:40:29,400
در اینجا بسازم لامبدا میگیرد J من معتقدم و
659
00:40:33,869 –> 00:40:36,730
در واقع چرا که نه، آن را خوب نگه میدارم.
660
00:40:36,730 –> 00:40:40,569
661
00:40:40,569 –> 00:40:43,630
میخواهیم فریم خود را ارسال کنیم،
662
00:40:43,630 –> 00:40:47,680
زمان دلتا عالی است، اکنون باید
663
00:40:47,680 –> 00:40:51,549
تابعی را با نام رویداد خود تعریف کنید،
664
00:40:51,549 –> 00:40:56,079
بنابراین فریم، تابع ما یک
665
00:40:56,079 –> 00:41:01,000
زمان دلتا دارد و نیازی به انجام آن نیست. هر چیزی
666
00:41:01,000 –> 00:41:03,609
که احتمالاً نباید انجام شود و سپس در شما
667
00:41:03,609 –> 00:41:07,150
در آن، ما بخشی خواهیم داشت که در آن
668
00:41:07,150 –> 00:41:10,530
رویدادهای خود را تعریف می کنیم، بنابراین اگر انجام می
669
00:41:10,530 –> 00:41:17,369
دهید، بیایید ببینیم چگونه این کار را درست
670
00:41:17,369 –> 00:41:21,839
انجام دهیم، بنابراین ما می خواهیم رویداد را ثبت
671
00:41:21,839 –> 00:41:23,349
کنیم، این روش سرگرم کننده را با
672
00:41:23,349 –> 00:41:25,210
این روش همراه کنید. با
673
00:41:25,210 –> 00:41:28,089
روش اعزام توسط
674
00:41:28,089 –> 00:41:30,609
superclass توزیع کننده رویداد که
675
00:41:30,609 –> 00:41:34,180
هنوز از آنها به ارث برده شده است در اختیار ما قرار می گیرد، بنابراین ما می خواهیم
676
00:41:34,180 –> 00:41:36,520
یک فریم را ثبت کنیم، بنابراین وقتی
677
00:41:36,520 –> 00:41:40,180
رویداد خود را ثبت کردید، فقط باید
678
00:41:40,180 –> 00:41:42,700
اساساً آن را ارسال کنید و سپس فقط
679
00:41:42,700 –> 00:41:45,130
باید روش را ایجاد کنید. و
680
00:41:45,130 –> 00:41:48,970
لازم نیست هر کاری درست است انجام دهید، بنابراین ما در فریم ثبت نام می کنیم
681
00:41:48,970 –> 00:41:54,970
و سپس داریم و آن را
682
00:41:54,970 –> 00:41:58,630
ارسال می کنیم و خوب است که
683
00:41:58,630 –> 00:42:02,559
در پاسخ به این که چه
684
00:42:02,559 –> 00:42:05,650
فریمی را ارسال می کنیم، خوب ما هر فریمی را داریم که می خواهیم آن را درست انجام دهیم، بنابراین
685
00:42:05,650 –> 00:42:10,720
اکنون به گلوله بر می گردیم
686
00:42:10,720 –> 00:42:15,099
بنابراین بیایید یک متغیر جهانی بازی ایجاد کنیم،
687
00:42:15,099 –> 00:42:31,810
بنابراین در اینجا، جایی که ساخت ماست، بنابراین
688
00:42:31,810 –> 00:42:33,790
یک متغیر بازی را در اینجا ایجاد می کنیم که در
689
00:42:33,790 –> 00:42:42,099
ابتدا حدس می زنم هیچ، و سپس
690
00:42:42,099 –> 00:42:45,869
روش ساخت برنامه ها،
691
00:42:47,730 –> 00:43:04,140
خوب است، فقط آن را در آنجا انجام دهید و فقط بله
692
00:43:04,140 –> 00:43:07,599
، ما به آنجا می رویم پس ما ایجاد می کنیم. ویجت بازی ما
693
00:43:07,599 –> 00:43:11,140
جهانی است و سپس ساخت نمونه های برنامه
694
00:43:11,140 –> 00:43:14,890
ما فقط آن را برمی گرداند و فکر نمی
695
00:43:14,890 –> 00:43:17,740
کنم بله، فکر نمی کنم به آن نیاز
696
00:43:17,740 –> 00:43:19,210
داشته باشم زیرا آن را تغییر نمی دهم، بنابراین
697
00:43:19,210 –> 00:43:22,240
نیازی نیست اعلام کنم که مشکلی نیست آنجا می رویم
698
00:43:22,240 –> 00:43:27,720
تا بازی های گلوله بیرون بیند بازی کور
699
00:43:27,720 –> 00:43:34,869
روی فریم روی فریم شد،
700
00:43:34,869 –> 00:43:39,819
ما آن را به مرحله حرکت خود متصل می کنیم، پاسخ تماس ما
701
00:43:39,819 –> 00:43:57,730
در اینجا مشخص شده است که چه کاری انجام می دهیم این است که هیچ نقشه ای که
702
00:43:57,730 –> 00:43:59,890
حرکت می کنیم به مرگ بستگی ندارد
703
00:43:59,890 –> 00:44:05,530
زمان زیادی ما این را در
704
00:44:05,530 –> 00:44:07,060
آموزش قبلی توضیح می دهیم که چرا این کار را انجام می دهیم تا بتوانیم این کار را انجام دهیم
705
00:44:07,060 –> 00:44:10,829
بدون در
706
00:44:10,829 –> 00:44:15,780
نظر گرفتن سیستمی که روی آن کار می کند، با یک نرخ ثابت، صرف نظر از اینکه روی چه سیستمی است،
707
00:44:15,780 –> 00:44:19,480
بنابراین ما می رویم، در آن زمان آن صورت حساب کوچک را داریم
708
00:44:19,480 –> 00:44:21,840
،
709
00:44:22,140 –> 00:44:26,980
بنابراین اندازه مرحله است و
710
00:44:26,980 –> 00:44:28,270
گلوله ای که ما فقط می خواستیم
711
00:44:28,270 –> 00:44:31,540
کمی به جلو حرکت کنیم، یک موجودیت است، بنابراین همه آنچه
712
00:44:31,540 –> 00:44:37,930
ما داریم “میخواهیم انجام دهیم این است که چرا
713
00:44:37,930 –> 00:44:41,440
موقعیت فعلی آن
714
00:44:41,440 –> 00:44:47,040
موقعیت را به جزء دوم
715
00:44:47,040 –> 00:44:49,300
میگیریم و در واقع میخواهیم
716
00:44:49,300 –> 00:44:55,990
اندازه گام را به آن اضافه کنیم که
717
00:44:55,990 –> 00:45:01,690
Y جدید ما خواهد بود و اکنون ما میخواهیم این را تنظیم
718
00:45:01,690 –> 00:45:10,090
کنید تا موقعیت x را انجام دهیم
719
00:45:10,090 –> 00:45:14,500
و آن تغییر خواهد کرد، بنابراین اکنون
720
00:45:14,500 –> 00:45:18,300
موقعیت خود نقطه را انجام می دهیم، آن را روی
721
00:45:18,300 –> 00:45:25,630
آن mu X قرار می دهیم و فقط Y تغییر می کند به من اجازه دهید
722
00:45:25,630 –> 00:45:27,580
این را بررسی کنم و مطمئن شوم که خوب و
723
00:45:27,580 –> 00:45:31,090
تمیز است. ما آن را بالا می بریم فقط
724
00:45:31,090 –> 00:45:33,040
اندازه پله با زمان و سرعت دلتا تعیین می شود،
725
00:45:33,040 –> 00:45:36,430
بنابراین اگر سرعت 300 و
726
00:45:36,430 –> 00:45:38,260
دومی 1 باشد، چرخ 300 حرکت می کند که
727
00:45:38,260 –> 00:45:41,380
خوب است و سپس X جدید، چرا X جدید
728
00:45:41,380 –> 00:45:43,270
فقط خواهد بود X قدیمی و ما یک
729
00:45:43,270 –> 00:45:47,140
ویژگی برای این کار داریم، Y جدید فقط
730
00:45:47,140 –> 00:45:49,930
به اندازه y قدیمی به علاوه گام خواهد بود، بنابراین
731
00:45:49,930 –> 00:45:53,230
mov بالا آمدن و موقعیت بهروزرسانی میشود
732
00:45:53,230 –> 00:45:57,820
خوب حالا میخواهیم بررسی کنیم، بنابراین میخواهیم
733
00:45:57,820 –> 00:45:59,200
آن را حرکت دهیم و سپس میخواهیم آن را بررسی کنیم
734
00:45:59,200 –> 00:46:02,380
برخورد رو به جلو، یا حتی
735
00:46:02,380 –> 00:46:05,230
میخواهیم آن را برای برخورد برای حرکت
736
00:46:05,230 –> 00:46:15,840
بررسی کنیم، بله، برخورد اساساً
737
00:46:15,840 –> 00:46:17,590
یا عدم تعادل را بررسی کنیم.
738
00:46:17,590 –> 00:46:19,840
بنابراین ابتدا نشانههای برخورد را بررسی میکنیم،
739
00:46:19,840 –> 00:46:22,030
بنابراین ابتدا میخواهیم ببینیم که
740
00:46:22,030 –> 00:46:26,380
آیا گلوله خارج از این صفحه است، بنابراین
741
00:46:26,380 –> 00:46:31,069
موقعیت گسترده گلوله
742
00:46:31,069 –> 00:46:34,730
بیشتر از ارتفاع پنجرهها است، سپس
743
00:46:34,730 –> 00:46:36,589
بدانیم که از بالای صفحه خارج شدهایم.
744
00:46:36,589 –> 00:46:37,160
745
00:46:37,160 –> 00:46:42,279
در این حالت ما میخواهیم اساساً
746
00:46:42,279 –> 00:46:50,059
از رویداد فریمی که
747
00:46:50,059 –> 00:46:55,309
برای ویجت بازی گوش میدهیم جدا
748
00:46:55,309 –> 00:46:58,579
کنیم، callback خود را از آن رویداد جدا میکنیم و سپس
749
00:46:58,579 –> 00:47:06,490
خودمان را از بازی حذف میکنیم و از
750
00:47:06,490 –> 00:47:12,619
آن خارج میشویم.
751
00:47:12,619 –> 00:47:14,779
موضوع این است که بررسی میکنیم که آیا
752
00:47:14,779 –> 00:47:18,769
با چیزی برخورد میکنیم، بنابراین بیایید همه
753
00:47:18,769 –> 00:47:22,039
موجودات برخورد کننده را برای هر
754
00:47:22,039 –> 00:47:29,569
موجودیت و سپس روشنایی هر چیزی را
755
00:47:29,569 –> 00:47:37,130
که با ما برخورد میکند دریافت کنیم، و اگر
756
00:47:37,130 –> 00:47:43,519
در مقابل a تایپ کردید، بیایید ببینیم چگونه باید
757
00:47:43,519 –> 00:47:48,950
نوع را بررسی کنم. نمونه whet را برمی گرداند او یا
758
00:47:48,950 –> 00:47:50,869
عدم بررسی آن نمونهای از
759
00:47:50,869 –> 00:47:58,099
کلاسی است که اشکالی ندارد، بنابراین اگر آن
760
00:47:58,099 –> 00:48:04,069
چیزی که با آن میجنگیم یک دشمن است، من
761
00:48:04,069 –> 00:48:09,890
حتی یک کلاس دشمن تعریف میکنم، نه،
762
00:48:09,890 –> 00:48:12,589
حتی یک کلاس دشمن تعریف نکردهام، اما حدس میزنم
763
00:48:12,589 –> 00:48:15,380
که باید به هر حال یک کلاس دشمن تعریف کنید،
764
00:48:15,380 –> 00:48:19,099
بنابراین این یک چیز دیگر است که
765
00:48:19,099 –> 00:48:20,809
باید به نمودار کوچک خود اضافه کنم،
766
00:48:20,809 –> 00:48:22,579
شاید ما آن را به نمودار خود اضافه نکنیم
767
00:4