در این مطلب، ویدئو شبیه پایتون Pygame Galaga با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:34:11
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,290 –> 00:00:02,639
بسیار خوب، بنابراین من یک برنامه در اینجا
2
00:00:02,639 –> 00:00:04,950
دارم که چیزهای اساسی بازی های PI را که ریاضی را وارد می کنم،
3
00:00:04,950 –> 00:00:08,039
ممکن است بعداً در مقداردهی اولیه یک دسته از متغیرها مفید باشد و باعث می شود
4
00:00:08,039 –> 00:00:10,200
ساعت
5
00:00:10,200 –> 00:00:11,940
برای فریم در ثانیه سطحی را
6
00:00:11,940 –> 00:00:13,440
که در واقع قرار است روی
7
00:00:13,440 –> 00:00:15,630
صفحه نمایش داده شود، بسازد. سپس ما یک دسته از
8
00:00:15,630 –> 00:00:18,000
متغیرهای رنگی داریم که بعداً یک سری چیزهای رنگی داریم
9
00:00:18,000 –> 00:00:21,990
، من حلقه برنامه اصلی خود را دریافت کردم، بنابراین در
10
00:00:21,990 –> 00:00:23,460
حالی که بازی هنوز در حال اجرا است تمام نشده است،
11
00:00:23,460 –> 00:00:25,529
ما میخواهیم
12
00:00:25,529 –> 00:00:28,260
ورودیهای بازیکن را بررسی کنیم، این به ما اجازه میدهد من را ترک کنیم.
13
00:00:28,260 –> 00:00:30,599
همچنین هر زمان که یک کلید بازی PI
14
00:00:30,599 –> 00:00:32,668
پایین میآید،
15
00:00:32,668 –> 00:00:34,739
مقدار عددی آن کلید را چاپ میکنم، زیرا این
16
00:00:34,739 –> 00:00:37,230
به من کمک میکند بعداً تعیین کنم که
17
00:00:37,230 –> 00:00:39,840
در واقع با چه عددی مانند W a s و
18
00:00:39,840 –> 00:00:43,140
D همراه است، بنابراین مفید خواهد بود که من را پر کنم.
19
00:00:43,140 –> 00:00:44,280
سطح، بنابراین اساساً مانند
20
00:00:44,280 –> 00:00:46,230
سیاه کردن پسزمینه است و در واقع
21
00:00:46,230 –> 00:00:47,550
از آنجایی که من قبلاً متغیری
22
00:00:47,550 –> 00:00:49,379
به نام سیاه را دریافت کردهام، میتوانم از آن نام استفاده کنم
23
00:00:49,379 –> 00:00:51,329
تا خواندن آن را کمی آسانتر
24
00:00:51,329 –> 00:00:54,289
کنم، بنابراین صفحه را سیاه میکنم
25
00:00:54,289 –> 00:00:57,090
و میروم. برای به روز رسانی صفحه نمایش بنابراین هر یک از
26
00:00:57,090 –> 00:01:00,149
نقاشی ما به اینجا میرود و
27
00:01:00,149 –> 00:01:04,619
آنها را به اینجا میکشد و سپس من میخواهم با
28
00:01:04,619 –> 00:01:06,869
سرعت 30 فریم در ثانیه
29
00:01:06,869 –> 00:01:09,420
30
00:01:09,420 –> 00:01:12,060
عکس بگیرم،
31
00:01:12,060 –> 00:01:14,159
مثل اینکه واقعاً بازی فوقالعادهای نیست.
32
00:01:14,159 –> 00:01:16,229
در انتها فقط در صورتی که به ما کمک
33
00:01:16,229 –> 00:01:20,520
کند وقتی کارمان را درست اینجا تمیز کنیم، بنابراین من
34
00:01:20,520 –> 00:01:24,060
می خواهم روی اشیاء تأکید کنم، بنابراین بیایید
35
00:01:24,060 –> 00:01:27,659
با ایجاد یک مربع شروع
36
00:01:27,659 –> 00:01:30,060
کنیم که می خواهیم روی صفحه بکشیم، حالا می دانم که
37
00:01:30,060 –> 00:01:32,040
بازی Pi دارای یک مستطیلی که واقعاً
38
00:01:32,040 –> 00:01:36,090
مفید است، اما من میخواهم نسخه خودم را ایجاد کنم،
39
00:01:36,090 –> 00:01:38,880
بنابراین با استفاده
40
00:01:38,880 –> 00:01:42,299
از کلمه کلیدی شروع میکنم، نام کلاس کلاس من
41
00:01:42,299 –> 00:01:44,460
برای حروف بزرگ کردن سنتی است یا یک مربع کلاس جدید
42
00:01:44,460 –> 00:01:48,479
و سپس هر کلاس
43
00:01:48,479 –> 00:01:51,560
یک تابع init خواهد داشت و آن
44
00:01:51,560 –> 00:01:54,780
زیرخط زیرخط ابتدایی زیرخط
45
00:01:54,780 –> 00:01:57,299
زیرخط خودش در آنجاست، فقط
46
00:01:57,299 –> 00:02:00,770
این در آن مربع متعلق به من است و
47
00:02:00,770 –> 00:02:02,969
ما کمی بعد استدلال خواهیم کرد،
48
00:02:02,969 –> 00:02:04,320
اما اجازه دهید ابتدا با یک
49
00:02:04,320 –> 00:02:07,200
مربع اصلی شروع کنیم و مربع
50
00:02:07,200 –> 00:02:10,220
مستطیل خودش را خواهد داشت. مستطیل pygame خود
51
00:02:10,220 –> 00:02:13,380
به نظر می رسد t o منطقی است،
52
00:02:13,380 –> 00:02:16,320
اوه، بیایید ببینیم، فکر می کنم کد را
53
00:02:16,320 –> 00:02:19,470
به درستی به خاطر می آورم، من به pygame صحیح نیاز دارم و سپس
54
00:02:19,470 –> 00:02:22,200
X Y عرض و
55
00:02:22,200 –> 00:02:23,600
ارتفاع را وارد می کنم و من فقط می خواهم اینها را
56
00:02:23,600 –> 00:02:26,490
دلخواه کنم فعلاً گفتم این کار درست است
57
00:02:26,490 –> 00:02:28,140
یک مربع باشید، اما فقط برای اینکه مطمئن شوم
58
00:02:28,140 –> 00:02:30,270
عرض مورد نظرم را در قدم درست
59
00:02:30,270 –> 00:02:33,210
میکنم، میخواهم آنها را متفاوت بسازم، اوه و
60
00:02:33,210 –> 00:02:34,890
شما میتوانید در استودیو ویژوال ببینید که من
61
00:02:34,890 –> 00:02:37,620
از آن استفاده میکنم در واقع به من نشان میدهد که چه
62
00:02:37,620 –> 00:02:39,540
چیزی نیاز دارم تا آن را داشته باشد. سمت چپ و سپس بالای
63
00:02:39,540 –> 00:02:41,700
چهار x و y و سپس عرض و سپس
64
00:02:41,700 –> 00:02:43,410
ارتفاع به طوری که باید خوب کار کند.
65
00:02:43,410 –> 00:02:44,730
66
00:02:44,730 –> 00:02:46,920
67
00:02:46,920 –> 00:02:49,800
68
00:02:49,800 –> 00:02:52,320
پنج مربع بیایید به
69
00:02:52,320 –> 00:02:55,050
آن یک رنگ بدهیم و برای شروع همه
70
00:02:55,050 –> 00:02:57,420
مربع های ما یک رنگ خواهند بود،
71
00:02:57,420 –> 00:02:59,520
بیایید آنها را واقعاً نمایان کنیم زرد
72
00:02:59,520 –> 00:03:04,290
بسیار قابل مشاهده خواهد بود که خوب است و بیایید
73
00:03:04,290 –> 00:03:06,900
با این شروع کنیم، من
74
00:03:06,900 –> 00:03:09,240
هنوز هیچ مربعی درست نکرده ام اگر
75
00:03:09,240 –> 00:03:10,920
این را اجرا کنم انگار یک صفحه خالی خواهد بود
76
00:03:10,920 –> 00:03:12,390
بنابراین حتی مزاحم نمی شوم به شما
77
00:03:12,390 –> 00:03:14,760
نشان می دهم که نه تنها باید یک
78
00:03:14,760 –> 00:03:17,430
مربع ایجاد کنم، بلکه باید آن را
79
00:03:17,430 –> 00:03:19,020
روی صفحه نیز بکشم تا بدانم به یک تابع ترسیم نیاز دارم،
80
00:03:19,020 –> 00:03:22,050
پس بیایید ادامه دهیم و
81
00:03:22,050 –> 00:03:24,270
آن را در حال حاضر بگذارم، می خواهم یک جای
82
00:03:24,270 –> 00:03:26,760
خالی بگذارم فاصله بین این دو روش مختلف،
83
00:03:26,760 –> 00:03:28,350
این دو تابع متفاوت است،
84
00:03:28,350 –> 00:03:30,390
اما از آنجایی که کلاس ما واقعاً
85
00:03:30,390 –> 00:03:32,280
کوتاه است، من فقط همه را در یک مکان می گذارم، پس بکشید
86
00:03:32,280 –> 00:03:36,120
و سپس اجازه دهید در صفحه عبور کنیم
87
00:03:36,120 –> 00:03:38,490
یا در واقع من آن را سطح بالا نامگذاری کردم،
88
00:03:38,490 –> 00:03:39,990
بنابراین اجازه دهید نامگذاری
89
00:03:39,990 –> 00:03:41,970
ثابت سطحی که میخواهم
90
00:03:41,970 –> 00:03:42,810
روی
91
00:03:42,810 –> 00:03:45,660
آن بکشم، اما قبل از آن باید این را بگویم زیرا
92
00:03:45,660 –> 00:03:47,850
این تابع رسم من است اگر مربع باشم،
93
00:03:47,850 –> 00:03:49,440
این تابع رسم است که متعلق
94
00:03:49,440 –> 00:03:51,720
به من است، شاید بعداً بخواهم یک
95
00:03:51,720 –> 00:03:53,730
تابع دایره بنویسم یا یک کلاس دایره ای و
96
00:03:53,730 –> 00:03:55,050
تابع رسم خودش را دارد
97
00:03:55,050 –> 00:04:02,190
و سپس چیزی که من نیاز دارم pygame dot است،
98
00:04:02,190 –> 00:04:03,480
باید این را بررسی کنم که زیر اینها چگونه است
99
00:04:03,480 –> 00:04:05,760
، بله، فقط فریب دادم و
100
00:04:05,760 –> 00:04:09,810
آن را در جای دیگری چسباندم، پس
101
00:04:09,810 –> 00:04:11,910
بله سطحی را که می خواهید
102
00:04:11,910 –> 00:04:14,010
روی کولو بکشید می گیرد r که می خواهید
103
00:04:14,010 –> 00:04:16,079
بکشید و سپس مستطیلی که
104
00:04:16,079 –> 00:04:18,298
می خواهید اکنون چه چیزی ظاهر می شود دوباره ظاهر می شود
105
00:04:18,298 –> 00:04:21,570
این مربع ایجاد نمی کند
106
00:04:21,570 –> 00:04:23,520
این دستورالعملی است برای
107
00:04:23,520 –> 00:04:25,979
نحوه ایجاد یک مربع اگر واقعاً می خواهم
108
00:04:25,979 –> 00:04:28,340
مربع بسازم.
109
00:04:28,370 –> 00:04:32,000
این کار را در اینجا انجام دهید، من آن را
110
00:04:32,000 –> 00:04:37,169
مربع مربع می نامم و سپس فقط می گویم که
111
00:04:37,169 –> 00:04:39,510
نام کلاس پایتخت مربع
112
00:04:39,510 –> 00:04:41,910
بزرگ است زیرا من
113
00:04:41,910 –> 00:04:43,830
هیچ آرگومان دیگری در سازنده به
114
00:04:43,830 –> 00:04:46,020
جز self ندارم که نیازی به آن نیست.
115
00:04:46,020 –> 00:04:47,910
هر چیزی را برای خود قرار دهید این
116
00:04:47,910 –> 00:04:50,840
یک مربع زرد برای من در این مکان ایجاد می کند و
117
00:04:50,840 –> 00:04:52,950
من باید بتوانم
118
00:04:52,950 –> 00:04:55,800
با پایین رفتن از اینجا آن را روی صفحه بکشم، نقاشی
119
00:04:55,800 –> 00:04:58,260
به اینجا بین پاک کردن
120
00:04:58,260 –> 00:04:59,880
صفحه و به روز رسانی صفحه می رود
121
00:04:59,880 –> 00:05:06,270
و من می گویم مربع خیلی خوب رسم کنید پس
122
00:05:06,270 –> 00:05:08,730
این شکل اولیه ماست، بیایید این را اجرا
123
00:05:08,730 –> 00:05:12,900
کنیم ببینیم چه چیزی به دست میآوریم، اوه، فراموش کردم
124
00:05:12,900 –> 00:05:15,780
سطح را به مربعی که قرار است
125
00:05:15,780 –> 00:05:18,030
کشیده شود، بگذارم، بنابراین باید
126
00:05:18,030 –> 00:05:20,760
سطح را درست اینجا قرار دهم که باید عالی کار کند.
127
00:05:20,760 –> 00:05:23,520
من یک مستطیل زرد به نام دارم.
128
00:05:23,520 –> 00:05:25,740
مربع درست وجود دارد بسیار گمراه کننده است
129
00:05:25,740 –> 00:05:29,490
خوب و بیایید ببینیم بعداً میخواهیم چه کار کنیم،
130
00:05:29,490 –> 00:05:31,200
بنابراین اول از همه میخواهم صفحهنمایش
131
00:05:31,200 –> 00:05:32,250
واقعاً کمی بزرگتر باشد،
132
00:05:32,250 –> 00:05:36,000
میروم 800 600، فکر
133
00:05:36,000 –> 00:05:38,100
میکنم کمی در واقع حداقل 600 به نظر برسد
134
00:05:38,100 –> 00:05:43,260
و بعد من یک مربع دارم،
135
00:05:43,260 –> 00:05:44,880
میخواهم بتوانم مربعهایی با
136
00:05:44,880 –> 00:05:47,520
رنگهای مختلف ایجاد کنم، بنابراین استدلال میکنم
137
00:05:47,520 –> 00:05:49,140
که او همان رنگ است، بنابراین
138
00:05:49,140 –> 00:05:52,260
وقتی مربع را میسازم، رنگ را رد میکنم،
139
00:05:52,260 –> 00:05:54,090
بنابراین به جای زرد در اینجا من من
140
00:05:54,090 –> 00:05:56,280
می گویم که رنگ خود نقطه برابر با رنگ است
141
00:05:56,280 –> 00:05:59,220
و سپس این مربع اگر بخواهم
142
00:05:59,220 –> 00:06:02,580
قرمز باشد اکنون قرمز خواهد بود بنابراین آن را اجرا می کنم و
143
00:06:02,580 –> 00:06:04,740
آنجا می رویم ما یک مربع قرمز داریم که
144
00:06:04,740 –> 00:06:06,450
خیلی جالب نیست، اجازه دهید به
145
00:06:06,450 –> 00:06:07,590
کد بازگردیم و یک کار انجام دهیم. چیزهای کمی
146
00:06:07,590 –> 00:06:09,300
جالب تر فقط کافی است چند
147
00:06:09,300 –> 00:06:11,130
مربع نمونه دیگر بسازید ما مربع 1
148
00:06:11,130 –> 00:06:12,660
مربع 2 داریم که در اینجا
149
00:06:12,660 –> 00:06:16,530
رنگ های متفاوتی دارند اما مشکل اینجاست که اگر این
150
00:06:16,530 –> 00:06:18,450
کد را اجرا کنم کاملاً
151
00:06:18,450 –> 00:06:20,039
روی هم قرار می گیرند. از آنجایی که آنها X
152
00:06:20,039 –> 00:06:21,360
هستند، چرا در همان مکان در قد خود هستند،
153
00:06:21,360 –> 00:06:22,440
154
00:06:22,440 –> 00:06:24,590
بنابراین بیایید در واقع آن آرگوم ها را بسازیم
155
00:06:24,590 –> 00:06:27,600
بنابراین من فقط آنها را به
156
00:06:27,600 –> 00:06:31,530
سازنده اضافه میکنم تا بتوانیم آنها را راحتتر تغییر دهیم
157
00:06:31,530 –> 00:06:33,720
و به جای این
158
00:06:33,720 –> 00:06:37,650
مقادیر عددی فقط عرض و ارتفاع X Y خواهد بود،
159
00:06:37,650 –> 00:06:41,790
این بدان معناست که
160
00:06:41,790 –> 00:06:44,220
وقتی یک مربع خاص ایجاد میکنیم،
161
00:06:44,220 –> 00:06:46,650
در واقع یکی را میسازیم. در اینجا ما
162
00:06:46,650 –> 00:06:48,509
باید مقداری از مقادیر عددی را منتقل
163
00:06:48,509 –> 00:06:50,580
کنیم، اگر دوباره من
164
00:06:50,580 –> 00:06:52,440
و همه آن مقادیر عددی یکسان
165
00:06:52,440 –> 00:06:54,630
را بچسبانم، واقعا خسته کننده خواهد بود، بنابراین این
166
00:06:54,630 –> 00:06:57,300
یک مقدار y 100 خواهد داشت و این
167
00:06:57,300 –> 00:07:00,830
یک مقدار خواهد داشت. مقدار x 100 است و
168
00:07:00,830 –> 00:07:04,530
این یکی بسیار بلندتر خواهد بود و
169
00:07:04,530 –> 00:07:10,229
این یکی به آن پهنا
170
00:07:10,229 –> 00:07:12,060
نخواهد بود و دوباره هیچ چیز نشان داده نخواهد شد زیرا
171
00:07:12,060 –> 00:07:14,669
اکنون باید به یاد داشته باشم که اینها را
172
00:07:14,669 –> 00:07:16,020
بکشم بنابراین خیلی سریع به پایین اسکرول می کنم در
173
00:07:16,020 –> 00:07:18,389
اینجا ما می خواهیم ترسیم کنیم
174
00:07:18,389 –> 00:07:21,389
هر یک از اینها اکنون احتمالاً
175
00:07:21,389 –> 00:07:24,449
ایده خوبی خواهد بود که فقط از یک لیست استفاده کنید،
176
00:07:24,449 –> 00:07:26,850
اما من فقط در حال نمایش اینجا هستم و قرار نیست
177
00:07:26,850 –> 00:07:28,949
فقط یک دسته از
178
00:07:28,949 –> 00:07:30,780
مستطیل ها را روی صفحه نمایش دهیم که این چیزی
179
00:07:30,780 –> 00:07:32,460
نیست که به سمت آن می رویم. بنابراین صفحه به
180
00:07:32,460 –> 00:07:34,289
اشتراک گذاشته شده همانجا وجود دارد که من یک r دریافت کردم
181
00:07:34,289 –> 00:07:36,750
رنگ زرد و یک مستطیل آبی و همه آنها
182
00:07:36,750 –> 00:07:39,210
نشان داده می شوند من مستطیلی را می خواهم که بتوانم قبلاً آن
183
00:07:39,210 –> 00:07:42,979
را کنترل کنم و نگران
184
00:07:42,979 –> 00:07:45,470
برخوردها و مواردی از این قبیل
185
00:07:45,470 –> 00:07:50,660
هستم بنابراین از نظر فنی یک تابع حرکت ایجاد می کنم
186
00:07:50,660 –> 00:07:53,370
یک متد بنابراین توابعی که
187
00:07:53,370 –> 00:07:58,889
به کلاس ها تعلق دارند متد هستند و بیایید
188
00:07:58,889 –> 00:08:00,539
ببینیم در اینجا چه کاری باید انجام دهم و سعی می
189
00:08:00,539 –> 00:08:02,550
کنم در مورد بهترین راه برای کنار هم قرار دادن این
190
00:08:02,550 –> 00:08:05,520
191
00:08:05,520 –> 00:08:07,610
192
00:08:07,610 –> 00:08:09,650
193
00:08:09,650 –> 00:08:13,289
194
00:08:13,289 –> 00:08:15,720
موضوع فکر کنم. m با یک e برای شرق شروع میشود
195
00:08:15,720 –> 00:08:20,130
و سپس در اینجا میگویم اگر
196
00:08:20,130 –> 00:08:26,070
نقطهی خود جهت برابر e است و
197
00:08:26,070 –> 00:08:29,580
حرکت میکنیم، به سمت شرق حرکت میکنیم، پس چگونه
198
00:08:29,580 –> 00:08:30,810
خوب به سمت شرق حرکت میکنیم، میخواهیم بگوییم
199
00:08:30,810 –> 00:08:37,020
خود نقطه مستطیل x برابر با مقداری از
200
00:08:37,020 –> 00:08:39,208
بردار مسیر X به اضافه B است و واقعا آهسته حرکت می کند،
201
00:08:39,208 –> 00:08:43,700
اما اشکالی ندارد، من این متغیر را از نظر فنی تعریف کردم،
202
00:08:43,700 –> 00:08:46,020
یک ویژگی که فقط یک
203
00:08:46,020 –> 00:08:47,310
متغیر متعلق به یک کلاس
204
00:08:47,310 –> 00:08:48,930
است، این متغیر را در
205
00:08:48,930 –> 00:08:50,420
سازنده
206
00:08:50,420 –> 00:08:53,510
تعریف کردم، اما آن را در داخل خودم تعریف نکردم. راهی
207
00:08:53,510 –> 00:08:55,970
که آن حرکت می تواند دسترسی پیدا کند به
208
00:08:55,970 –> 00:08:57,380
همان روشی که میتواند
209
00:08:57,380 –> 00:09:00,200
به خود مستقیم دسترسی پیدا کند، به این دلیل است که
210
00:09:00,200 –> 00:09:02,899
همه این متغیرهای خود به این
211
00:09:02,899 –> 00:09:05,180
کلاس تعلق دارند و در هر یک از متدهای کلاس در دسترس هستند، در
212
00:09:05,180 –> 00:09:08,570
213
00:09:08,570 –> 00:09:11,720
حالی که من به سرعت این کار را انجام میدهم. بقیه
214
00:09:11,720 –> 00:09:13,160
از سمت راست ما به سمت غرب می رویم، اگر به سمت شمال برویم،
215
00:09:13,160 –> 00:09:15,769
یک عدد از X کم می کنیم
216
00:09:15,769 –> 00:09:18,649
، دنیای بازی
217
00:09:18,649 –> 00:09:20,750
وارونه است، در واقع
218
00:09:20,750 –> 00:09:23,779
اگر به سمت جنوب برویم، یک عدد از Y کم می کنیم، من
219
00:09:23,779 –> 00:09:28,459
آنها را به آن اضافه می کنم. من میتوانم این
220
00:09:28,459 –> 00:09:31,010
الیفها را درست کنم، فعلاً آنها را بهعنوان گویی رها میکنم، بنابراین
221
00:09:31,010 –> 00:09:33,220
اکنون ما این عملکرد حرکتی عالی داریم،
222
00:09:33,220 –> 00:09:37,430
بیایید آن را صدا کنیم مطمئن شویم که کار میکند و
223
00:09:37,430 –> 00:09:40,279
من فقط یکی از مربعها را جابهجا میکنم،
224
00:09:40,279 –> 00:09:41,660
نگران حرکت کردن نیستم. همه
225
00:09:41,660 –> 00:09:44,029
آنها فقط اثبات مفهومی هستند فقط برای
226
00:09:44,029 –> 00:09:46,459
اینکه مطمئن شوم اکنون کار می کند، من در
227
00:09:46,459 –> 00:09:48,860
اشتراک گذاری صفحه نمایشم به اندازه کافی سریع مشکل دارم که از صفحه
228
00:09:48,860 –> 00:09:50,360
نمایش خارج نشود،
229
00:09:50,360 –> 00:09:52,790
مگر اینکه FPS را پایین بیاورم، بنابراین
230
00:09:52,790 –> 00:09:54,949
آن را 5 فریم کنم. در هر ثانیه 5
231
00:09:54,949 –> 00:09:57,019
احتمالاً ضروری نبود، می توانید ببینید
232
00:09:57,019 –> 00:10:00,589
که مستطیل قرمز کاملاً آهسته حرکت می کند اما
233
00:10:00,589 –> 00:10:03,589
حرکت آن بسیار عالی است
234
00:10:03,589 –> 00:10:06,230
ما حرکت جسم خود را نیز داریم، بنابراین اجازه دهید در واقع
235
00:10:06,230 –> 00:10:08,899
به برخی از کلیدها نگاه کنیم، اجازه دهید یک کلید را فشار
236
00:10:08,899 –> 00:10:10,730
دهیم و مربع خود را در یک
237
00:10:10,730 –> 00:10:13,310
جهت خاص حرکت دهیم، من در واقع
238
00:10:13,310 –> 00:10:15,829
برخی از آن کد را در دیگری کپی می کنم
239
00:10:15,829 –> 00:10:18,740
پنجره پس من فقط
240
00:10:18,740 –> 00:10:23,510
به خاطر زمان آن کد را قرض میگیرم، بیایید از کد WASD استفاده کنیم،
241
00:10:23,510 –> 00:10:28,550
بنابراین بیایید اینجا ببینیم که این
242
00:10:28,550 –> 00:10:30,170
دقیقاً راهی نیست که ما میخواهیم انجامش دهیم،
243
00:10:30,170 –> 00:10:33,769
من به راحتی آن را تغییر میدهم، بنابراین
244
00:10:33,769 –> 00:10:37,250
اگر فشار داده شود میگوییم 19 1 19 اما
245
00:10:37,250 –> 00:10:38,390
ما واقعاً اینگونه نیستیم، بنابراین من
246
00:10:38,390 –> 00:10:40,040
یک متغیر فشرده ندارم که فقط از چیزی
247
00:10:40,040 –> 00:10:44,720
کپی کردم اگر او کلید رویداد را اوه کرد،
248
00:10:44,720 –> 00:10:47,569
کلید نقطه رویداد برابر با 119 است، یعنی کلید W
249
00:10:47,569 –> 00:10:50,329
فشرده شده است و من فقط
250
00:10:50,329 –> 00:10:51,500
یک سری از اینها را سریع
251
00:10:51,500 –> 00:10:56,839
پر می کنیم و سپس کد را پر می کنیم تا 119 W باشد و
252
00:10:56,839 –> 00:11:01,140
a 97 و
253
00:11:01,140 –> 00:11:06,120
s 115 باشد. پنجره دیگری را بررسی
254
00:11:06,120 –> 00:11:07,560
می کنم، من این عضو این را ندارم
255
00:11:07,560 –> 00:11:09,330
این می تواند بیش از حد باشد.
256
00:11:09,330 –> 00:11:15,030
من فکر می کنم خیلی خوب است، بنابراین ما WASD داریم
257
00:11:15,030 –> 00:11:17,280
W وقتی می خواهم به شمال حرکت کنم،
258
00:11:17,280 –> 00:11:18,900
تماس می گیرم، می خواهم بگویم مربع
259
00:11:18,900 –> 00:11:29,970
من می خواهم جهت شما برابر باشد، بنابراین این
260
00:11:29,970 –> 00:11:31,350
یک راه دیگر برای تعامل با
261
00:11:31,350 –> 00:11:34,440
شی شما است این است که شما نام متغیری را ارسال می کنید که
262
00:11:34,440 –> 00:11:36,630
دارای شیء شما باشد و ما می گوییم نقطه و سپس می
263
00:11:36,630 –> 00:11:38,490
توانید به ویژگی های متغیرهایی
264
00:11:38,490 –> 00:11:40,560
که به این شی تعلق دارند مستقیماً
265
00:11:40,560 –> 00:11:42,690
با نام دسترسی داشته باشید سپس شما می تواند آنها را برابر با یک
266
00:11:42,690 –> 00:11:45,420
مقدار متفاوت تنظیم کند، بنابراین بیایید ببینیم
267
00:11:45,420 –> 00:11:47,760
که آیا می توانیم مستطیل خود را روی
268
00:11:47,760 –> 00:11:51,630
صفحه نمایش با سرعت 30 فریم در ثانیه حرکت دهیم، آن را
269
00:11:51,630 –> 00:11:53,100
از 20 رها کنیم تا
270
00:11:53,100 –> 00:11:54,960
قبل از اینکه بتوانم آن را کنترل کنم و به آن نشان دهم، از صفحه خارج نشود.
271
00:11:54,960 –> 00:11:57,450
شما و دوباره فکر می کنم من در آنجا
272
00:11:57,450 –> 00:12:00,990
کمی بیش از حد ایمن بودم، می توانم
273
00:12:00,990 –> 00:12:04,050
اوه، اوه، بنابراین چیزی کمی اشتباه پیش می رود
274
00:12:04,050 –> 00:12:05,370
همین جا، من به سمت راست حرکت
275
00:12:05,370 –> 00:12:08,340
می کنم، a را فشار می دهم و به سمت چپ حرکت می کنم
276
00:12:08,340 –> 00:12:11,070
که به نظر خوب است، درست است. چپ
277
00:12:11,070 –> 00:12:15,950
اگر فشار بدم بالا و پایین خراب می شود و
278
00:12:15,950 –> 00:12:19,020
به نظر نمی رسد W و s کار کند، بنابراین
279
00:12:19,020 –> 00:12:26,040
بیایید سعی کنیم W North در جنوب را اشکال زدایی کنیم،
280
00:12:26,040 –> 00:12:29,600
همینطور است اینجا
281
00:12:29,600 –> 00:12:36,980
شرق غرب، آنهایی که در شمال کار می کنند اوه
282
00:12:38,280 –> 00:12:40,980
من x را تغییر می دهم مقدار به جای
283
00:12:40,980 –> 00:12:44,100
مقدار Y می بینید که مانند من
284
00:12:44,100 –> 00:12:45,840
مقدار x را برای هر گناه تغییر دادم زمان gle به جای
285
00:12:45,840 –> 00:12:50,220
مقدار Y خوب است که باید راه حل باشد.
286
00:12:50,220 –> 00:12:51,870
من فکر می کنم 30 فریم در ثانیه
287
00:12:51,870 –> 00:12:54,270
کاملاً ایمن است، بنابراین 30 فریم را انجام می دهم، اما
288
00:12:54,270 –> 00:12:57,180
بیایید به هر حال بررسی کنیم فقط مطمئن شوید که همه چیز
289
00:12:57,180 –> 00:13:00,210
درست است تا بتوانم مربع خود را کنترل کنم،
290
00:13:00,210 –> 00:13:02,100
حتی خیلی آهسته حرکت می کند. در این فریم
291
00:13:02,100 –> 00:13:04,650
در ثانیه بیایید آن را برطرف کنیم و سپس
292
00:13:04,650 –> 00:13:06,930
در مورد تیراندازی صحبت خواهیم کرد و سپس در
293
00:13:06,930 –> 00:13:08,940
مورد برخوردها صحبت خواهیم کرد.
294
00:13:08,940 –> 00:13:11,360
295
00:13:11,360 –> 00:13:13,620
296
00:13:13,620 –> 00:13:14,740
297
00:13:14,740 –> 00:13:17,589
برای انجام این کار، ایجاد یک
298
00:13:17,589 –> 00:13:20,170
متغیر سرعت است که اکنون متوجه شدم که یکی
299
00:13:20,170 –> 00:13:22,600
کاملاً کند است.
300
00:13:22,600 –> 00:13:24,430
301
00:13:24,430 –> 00:13:27,070
302
00:13:27,070 –> 00:13:29,589
303
00:13:29,589 –> 00:13:32,740
یکی من می خواهم به اضافه
304
00:13:32,740 –> 00:13:36,490
سرعت یا – سرعت – سرعت یا سرعت اضافه
305
00:13:36,490 –> 00:13:39,190
و دلیل اینکه این یک ایده واقعا خوب است
306
00:13:39,190 –> 00:13:42,010
این است که اگر من این عدد پنج
307
00:13:42,010 –> 00:13:44,980
را دوست ندارم یا می خواهم دوست داشته
308
00:13:44,980 –> 00:13:48,760
باشم ارتقاهایی مانند مربع خود را در بازی خود داشته باشم. من فقط
309
00:13:48,760 –> 00:13:50,860
باید سرعت را در یک مکان
310
00:13:50,860 –> 00:13:54,220
تغییر دهم و تغییر می کند a و مثل اینکه
311
00:13:54,220 –> 00:13:56,680
به عنوان یک متغیر استفاده میشود، بنابراین
312
00:13:56,680 –> 00:13:59,440
هر بار به مقدار تغییر یافته دسترسی پیدا میکند،
313
00:13:59,440 –> 00:14:01,330
لازم نیست کد خاصی بنویسم، لازم نیست
314
00:14:01,330 –> 00:14:03,220
315
00:14:03,220 –> 00:14:05,200
هر بار که میخواهم این را تغییر دهم، شماره جدیدی برای مکانها وارد کنم، فقط
316
00:14:05,200 –> 00:14:08,649
این کار را انجام میدهم. زمانی که فقط در آن مکان بودم، اکنون
317
00:14:08,649 –> 00:14:10,420
کاملاً مطمئن
318
00:14:10,420 –> 00:14:12,250
هستم که سرعت آن به درستی کار میکند، بنابراین نمیخواهم
319
00:14:12,250 –> 00:14:16,899
نسخه ی نمایشی را انجام دهم که بیایید به عکسبرداری
320
00:14:16,899 –> 00:14:19,810
از چند مربع دیگر ادامه دهیم.
321
00:14:19,810 –> 00:14:22,420
322
00:14:22,420 –> 00:14:24,520
من نیازی به
323
00:14:24,520 –> 00:14:26,290
نمایش تمام مربعهای دیگر ندارم که میخواهم
324
00:14:26,290 –> 00:14:29,500
آن بچهها را حذف کنم، اوه و
325
00:14:29,500 –> 00:14:32,020
حرکت همینجا در واقع
326
00:14:32,020 –> 00:14:34,540
بهتر است اگر قبل از هر یک از نقاشیها پیش برود کمی بهتر است
327
00:14:34,540 –> 00:14:37,510
، بنابراین ما میگوییم که
328
00:14:37,510 –> 00:14:41,230
نظر مانند این است به روز رسانی اشیاء بازی
329
00:14:41,230 –> 00:14:43,540
دلیل آن این است که شما همیشه
330
00:14:43,540 –> 00:14:46,480
یک فریم عقب خواهید بود اگر نقاشی بکشید و سپس
331
00:14:46,480 –> 00:14:49,209
حرکت کنید در حالی که اگر حرکت کنید و سپس بکشید
332
00:14:49,209 –> 00:14:52,089
دقیقاً وضعیت
333
00:14:52,089 –> 00:14:53,829
بازی را همانطور که در آن لحظه
334
00:14:53,829 –> 00:14:55,810
وجود دارد می بینید. بهتر است
335
00:14:55,810 –> 00:14:59,560
قبل از اینکه با هر درای مقابله کنیم ابتدا حرکت کنیم wing در واقع
336
00:14:59,560 –> 00:15:01,060
بیایید یک نظر دیگر را اینجا اضافه کنیم تا
337
00:15:01,060 –> 00:15:04,390
سازماندهی شده باقی بمانیم، ورودی کاربر را دریافت کنیم تا
338
00:15:04,390 –> 00:15:07,120
کل این قسمت ورودی کاربر را دریافت کند، در
339
00:15:07,120 –> 00:15:08,290
نهایت یک قطعه کوچک
340
00:15:08,290 –> 00:15:09,970
درست در اینجا خواهیم داشت که در آن چندین شی بازی را جابجا می کنیم
341
00:15:09,970 –> 00:15:12,339
و چیزهای دیگر را به روز می کنیم و
342
00:15:12,339 –> 00:15:14,740
سپس مانند همه موارد کشیدن تمام
343
00:15:14,740 –> 00:15:17,380
بحث های طولانی و به روز رسانی صفحه به
344
00:15:17,380 –> 00:15:20,290
درستی انجام می شود تا گلوله های اضافی کوچک
345
00:15:20,290 –> 00:15:25,240
شلیک شود، ما به یک لیست نیاز خواهیم داشت، بنابراین
346
00:15:25,240 –> 00:15:29,740
گلوله ها در اینجا قرار می گیرند و مربع ها را
347
00:15:29,740 –> 00:15:34,149
در این لیست قرار می دهیم اکنون باید یک
348
00:15:34,149 –> 00:15:36,370
فشار کلید برای قرار دادن مربع ها دریافت کنیم. لیست را
349
00:15:36,370 –> 00:15:37,779
خیلی سریع اجرا می کنم و کلید فاصله را فشار می
350
00:15:37,779 –> 00:15:38,380
351
00:15:38,380 –> 00:15:40,930
دهم تا ببینم عدد فاصله چیست،
352
00:15:40,930 –> 00:15:42,330
353
00:15:42,330 –> 00:15:45,070
بنابراین می بینید که عدد 32 در پایین آن چاپ شده است،
354
00:15:45,070 –> 00:15:47,410
بنابراین عدد 32 عددی است برای
355
00:15:47,410 –> 00:15:50,709
فاصله ما و دوباره من می خواهم
356
00:15:50,709 –> 00:15:52,990
یک جمله ی if دیگر بنویسم و من دوست دارم هم
357
00:15:52,990 –> 00:15:54,640
شه اینها را برچسب بزنم زیرا می دا
358
00:15:54,640 –> 00:15:56,680
ید که چه کسی به خاطر می آورد که عدد 100 چی
359
00:15:56,680 –> 00:16:00,360
ت 32 مانند این است که من دوست دارم فاصله را بگویم و سپ
360
00:16:00,360 –> 00:16:04,390
کاری که می خواهم انجام دهم این است که
361
00:16:04,390 –> 00:16:10,120
ک گلوله جدید در آن قرار دهم. لیست گلوله های من پس
362
00:16:10,120 –> 00:16:13,890
با شروع کنید یک نظر یک گلوله شلیک کند من
363
00:16:13,890 –> 00:16:15,820
هنوز چیزی در لیست قرار نداده ام
364
00:16:15,820 –> 00:16:17,470
این دقیقاً مانند مکانی است برای یادگیری من
365
00:16:17,470 –> 00:16:20,380
باید یک مربع ایجاد کنم، بنابراین از آنجایی که ما
366
00:16:20,380 –> 00:16:23,830
یک کلاس مربع داریم، تمام گلوله های
367
00:16:23,830 –> 00:16:29,589
من نیز مربع هستند، بنابراین من این کار را انجام خواهم داد.
368
00:16:29,589 –> 00:16:32,380
برای گلوله آن را B بنامید، در اینجا یک مربع جدید خواهد بود،
369
00:16:32,380 –> 00:16:36,459
چه رنگی باید قرمز باشد، به نظر
370
00:16:36,459 –> 00:16:38,260
خوب می رسد، اما اگر قرمز قرار است گلوله ما باشد،
371
00:16:38,260 –> 00:16:45,399
بیایید لایه خود را سبز کنیم این
372
00:16:45,399 –> 00:16:48,700
مکان احتمالاً عالی نیست، احتمالاً می خواهیم
373
00:16:48,700 –> 00:16:50,980
آن را در محل قرار دهیم.
374
00:16:50,980 –> 00:16:53,470
بازیکنان ما
375
00:16:53,470 –> 00:16:57,040
خودشان squit sq را برای مربع نام میبرند تا بتوانیم بگوییم که
376
00:16:57,040 –> 00:16:59,589
واقعاً نمیتوانیم بگو