در این مطلب، ویدئو آموزش Pygame با ساخت Pong با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:28:38
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,370
سلام در این آموزش من به
2
00:00:02,370 –> 00:00:04,049
شما نشان خواهم داد که چگونه یک بازی پنگ بسازید که
3
00:00:04,049 –> 00:00:06,690
چیزی شبیه به این باشد.
4
00:00:06,690 –> 00:00:09,059
5
00:00:09,059 –> 00:00:10,769
6
00:00:10,769 –> 00:00:13,769
7
00:00:13,769 –> 00:00:15,389
اگر میخواهید به قسمتهای خاصی بروید، تمام این مراحل را انجام
8
00:00:15,389 –> 00:00:17,550
دهید،
9
00:00:17,550 –> 00:00:18,950
10
00:00:18,950 –> 00:00:21,410
اگر تازه وارد پایتون هستید،
11
00:00:21,410 –> 00:00:23,869
ماژولی است که با پایتون ارائه نمیشود، اما
12
00:00:23,869 –> 00:00:26,119
میتوانید آن را به صورت رایگان دانلود کنید که در
13
00:00:26,119 –> 00:00:28,310
حالت بیکار با پاورشل
14
00:00:28,310 –> 00:00:29,720
ترمینال بسته به سیستم عامل خود،
15
00:00:29,720 –> 00:00:32,238
بنابراین برنامه مورد نیاز خود را
16
00:00:32,238 –> 00:00:34,430
مانند هر برنامه دیگری شروع کنید و
17
00:00:34,430 –> 00:00:36,890
بازی pip install PI را تایپ کنید، اکنون باید
18
00:00:36,890 –> 00:00:38,660
انیمیشن کوچکی را مشاهده کنید که در آن
19
00:00:38,660 –> 00:00:41,030
میتوانید پس از اتمام نصب،
20
00:00:41,030 –> 00:00:43,070
کد خود را باز کنید. ویرایشگر انتخابی
21
00:00:43,070 –> 00:00:45,800
و وارد کردن بازی PI را تایپ کنید و اگر بتوانید
22
00:00:45,800 –> 00:00:47,780
آن کد را بدون خطا اجرا
23
00:00:47,780 –> 00:00:49,980
کنید، بهتر است
24
00:00:49,980 –> 00:00:52,020
قبل از اینکه وارد کد شویم،
25
00:00:52,020 –> 00:00:54,060
اجازه دهید در مورد نحوه عملکرد Piegan در سطح مفهومی صحبت کنیم
26
00:00:54,060 –> 00:00:56,670
تا همه چیز
27
00:00:56,670 –> 00:00:59,580
را کمی سادهتر کند. کد ygame
28
00:00:59,580 –> 00:01:02,280
از دو قسمت تشکیل شده است، یک بخش که در آن
29
00:01:02,280 –> 00:01:04,290
شما تمام کدهای مورد نیاز خود را برای بازی تنظیم می
30
00:01:04,290 –> 00:01:06,090
کنید تا کلاس ها و متغیرهای شما
31
00:01:06,090 –> 00:01:08,700
دارای منطق بازی باشند،
32
00:01:08,700 –> 00:01:10,590
قسمتی که مانند هر کد دیگری کار می کند
33
00:01:10,590 –> 00:01:13,260
اما در واقع بازی را اجرا می کنید. به یک حلقه نیاز داریم
34
00:01:13,260 –> 00:01:16,320
که قسمت دوم داخل
35
00:01:16,320 –> 00:01:18,690
این pi است و به طور مداوم
36
00:01:18,690 –> 00:01:21,120
در یک حلقه while می چرخد و کد را به روز می کند و ت
37
00:01:21,120 –> 00:01:23,640
ویر حاصل را ترسیم می کند و از آنجایی که این چن
38
00:01:23,640 –> 00:01:25,680
بار در ثانیه اتفاق می افتد ما ای
39
00:01:25,680 –> 00:01:28,530
را به عنوان یک تصویر متحرک برای یک مث
40
00:01:28,530 –> 00:01:30,840
ل ساده تصور می کنیم که می خو
41
00:01:30,840 –> 00:01:32,490
هید یک مستطیل را از چپ به
42
00:01:32,490 –> 00:01:35,550
راست صفحه در قسمت تنظیمات حرکت دهید،
43
00:01:35,550 –> 00:01:37,350
یک مستطیل ایجاد میکنید و به آن
44
00:01:37,350 –> 00:01:39,270
موقعیت شروع و سرعت حرکت
45
00:01:39,270 –> 00:01:42,000
میدهید و سپس در حلقه تابعی را اجرا میکنید
46
00:01:42,000 –> 00:01:43,950
تا مستطیل به
47
00:01:43,950 –> 00:01:45,840
سمت راست حرکت کند. سرعت حرکت یک بار در هر
48
00:01:45,840 –> 00:01:49,470
چرخه حلقه با همه موارد ایجاد شده،
49
00:01:49,470 –> 00:01:51,899
بیایید یک راه اندازی اولیه ایجاد
50
00:01:51,899 –> 00:01:54,539
کنیم و از آنجا به خودمان کار می کنیم، کد
51
00:01:54,539 –> 00:01:56,720
ایجاد یک پنجره اصلی شبیه به این است،
52
00:01:56,720 –> 00:02:00,390
ابتدا بازی PI را وارد می کنیم. دوم اینکه چرا ما
53
00:02:00,390 –> 00:02:02,039
به بازیهای PI نیاز داریم باید در این
54
00:02:02,039 –> 00:02:04,259
مرحله واضح باشد زیرا اگر هنوز با آن مواجه نشدهاید
55
00:02:04,259 –> 00:02:07,170
، این ماژول برای دسترسی به برخی
56
00:02:07,170 –> 00:02:10,258
عملکردهای بیشتر در سیستم شما در مورد ما است،
57
00:02:10,258 –> 00:02:12,209
اگرچه ما فقط یک بار از آن برای
58
00:02:12,209 –> 00:02:13,980
بستن بازی استفاده میکنیم. ما با آن تمام شدهایم
59
00:02:13,980 –> 00:02:17,180
که در ادامه اینجا اتفاق میافتد،
60
00:02:17,180 –> 00:02:18,950
ما دو خط داریم که
61
00:02:18,950 –> 00:02:21,530
برای راهاندازی کلی مهم هستند.
62
00:02:21,530 –> 00:02:24,260
63
00:02:24,260 –> 00:02:26,420
64
00:02:26,420 –> 00:02:29,239
65
00:02:29,239 –> 00:02:33,049
از کد بازی PI پس از آن
66
00:02:33,049 –> 00:02:34,760
ما یک روش ساعت داریم که در ساعت متغیر ذخیره می کنیم.
67
00:02:34,760 –> 00:02:37,459
68
00:02:37,459 –> 00:02:39,590
چند دقیقه دیگر به این موضوع برمی گردم، بنابراین فعلا با من همراه باشید
69
00:02:39,590 –> 00:02:41,989
و در چند خط بعدی
70
00:02:41,989 –> 00:02:44,750
، پنجره واقعی خط مهم را
71
00:02:44,750 –> 00:02:47,000
در اینجا ایجاد می کنیم. آیا بازی PI از حالت زیر خط تنظیم شده نمایش داده نمی شود
72
00:02:47,000 –> 00:02:49,400
که یک
73
00:02:49,400 –> 00:02:52,099
شی سطح نمایش را که در متغیر صفحه ذخیره می کنیم برمی
74
00:02:52,099 –> 00:02:54,889
75
00:02:54,889 –> 00:02:56,840
76
00:02:56,840 –> 00:02:59,269
77
00:02:59,269 –> 00:03:02,180
78
00:03:02,180 –> 00:03:04,010
گرداند. e با عرض و هیپ
79
00:03:04,010 –> 00:03:06,230
پنجره که هر دو در متغیرهای خود تعریف شده
80
00:03:06,230 –> 00:03:08,870
اند، در این
81
00:03:08,870 –> 00:03:11,599
مورد پنجره ای با عرض 1280 پیکسل
82
00:03:11,599 –> 00:03:15,799
و ارتفاع 960 پیکسل ایجاد می کنم و خط بعدی
83
00:03:15,799 –> 00:03:17,840
صرفاً برای دادن عنوانی به پنجره است
84
00:03:17,840 –> 00:03:20,239
که آن را نامیده ام. pong اما میتوانید هر
85
00:03:20,239 –> 00:03:23,000
رشتهای را که دوست دارید وارد کنید، پس از اتمام کار،
86
00:03:23,000 –> 00:03:25,280
به حلقهای میرسیم که فقط یک حلقه سیم ساده
87
00:03:25,280 –> 00:03:28,370
است که دائماً اجرا میشود، در حال حاضر این
88
00:03:28,370 –> 00:03:30,680
حلقه بهطور باورنکردنی ابتدایی است و فقط واقعاً
89
00:03:30,680 –> 00:03:32,480
بررسی میکند که آیا کاربر دکمه بستن را فشار داده است یا خیر.
90
00:03:32,480 –> 00:03:34,940
بالای پنجره چگونه
91
00:03:34,940 –> 00:03:36,680
کار میکند این است که در هر
92
00:03:36,680 –> 00:03:39,379
چرخه حلقه، فهرستی از
93
00:03:39,379 –> 00:03:41,780
تمام ورودیهای کاربر با بازیهای PI یا رویداد
94
00:03:41,780 –> 00:03:44,250
دریافت میکنیم یا
95
00:03:44,250 –> 00:03:46,530
pygame همه رویدادهای تعامل کاربر را فراخوانی
96
00:03:46,530 –> 00:03:48,220
میکند،
97
00:03:48,220 –> 00:03:50,080
بنابراین یک رویداد میتواند یک کلیک یک دکمه باشد
98
00:03:50,080 –> 00:03:52,720
. حرکت ماوس یا حتی
99
00:03:52,720 –> 00:03:54,760
بستن پنجره و
100
00:03:54,760 –> 00:03:58,090
همه آنهایی را که دارای یک حلقه for هستند حلقه می
101
00:03:58,090 –> 00:04:00,310
زنیم، بنابراین به طور موثر یک حلقه while داریم که
102
00:04:00,310 –> 00:04:02,680
بازی را به روز می کند و در داخل آن حلقه
103
00:04:02,680 –> 00:04:04,660
ما یک حلقه for داریم که تمام
104
00:04:04,660 –> 00:04:07,810
اقدامات کاربر را بررسی می کند. اکنون تمام آنچه می خواهیم برای
105
00:04:07,810 –> 00:04:09,550
بررسی این است که آیا کاربر روی
106
00:04:09,550 –> 00:04:11,770
X کمی در بالای صفحه کلیک کرده است
107
00:04:11,770 –> 00:04:13,690
که نوع خاصی از رویداد است که فرقههای بت پرست
108
00:04:13,690 –> 00:04:16,810
از آن خارج میشوند و اگر نوع رویداد برابر است با
109
00:04:16,810 –> 00:04:19,959
PI بازی خارج نمیشود، ما دو روش را بازی PI میخوانیم
110
00:04:19,959 –> 00:04:22,089
که خارج شده و PI را مقداردهی اولیه میکند.
111
00:04:22,089 –> 00:04:24,790
ماژول بازی و خروج سیستم
112
00:04:24,790 –> 00:04:27,670
کل برنامه را می بندد تنها چیزی که واقعاً باید
113
00:04:27,670 –> 00:04:29,350
بدانید این است که هر دوی این ها با هم ترکیب شده اند
114
00:04:29,350 –> 00:04:32,620
که بازی را به طور قابل اعتماد
115
00:04:32,620 –> 00:04:35,020
می بندند.
116
00:04:35,020 –> 00:04:37,240
117
00:04:37,240 –> 00:04:39,130
118
00:04:39,130 –> 00:04:41,500
یک لینک در
119
00:04:41,500 –> 00:04:43,830
توضیحات برای همه گزینه ها قرار دهید و
120
00:04:43,830 –> 00:04:46,720
پس از ورودی، ما نقطه گاما پی را
121
00:04:46,720 –> 00:04:49,419
نمایش می دهیم، این روش تمام
122
00:04:49,419 –> 00:04:51,820
هدف این است که هر چیزی را که
123
00:04:51,820 –> 00:04:53,500
قبل از آن آمده است در حلقه برداریم و
124
00:04:53,500 –> 00:04:56,470
از آن چاه تصویری بکشیم، زیرا ما این کار را نکرده ایم.
125
00:04:56,470 –> 00:04:58,930
هر چیزی را ترسیم میکند، اما فقط یک
126
00:04:58,930 –> 00:05:02,590
صفحه سیاه میکشد و در نهایت ما
127
00:05:02,590 –> 00:05:05,080
همان ساعتی را که قبلاً در کد تعریف کرده بودیم تیک میزنیم
128
00:05:05,080 –> 00:05:07,750
، اساساً کاری که این یکی
129
00:05:07,750 –> 00:05:09,580
انجام میدهد این است که سرعت اجرای حلقه
130
00:05:09,580 –> 00:05:12,370
را در این مورد 60 ti محدود میکند. mes بر ثانیه
131
00:05:12,370 –> 00:05:15,010
این ضروری است زیرا
132
00:05:15,010 –> 00:05:17,169
رایانه سعی می کند تا کد
133
00:05:17,169 –> 00:05:19,660
را با حداکثر سرعتی که می تواند اجرا کند، بنابراین اگر سرعت را کنترل نکنید
134
00:05:19,660 –> 00:05:22,000
، رایانه ممکن است سعی کند آن را با سرعت
135
00:05:22,000 –> 00:05:24,400
10000 چرخه در ثانیه اجرا کند و
136
00:05:24,400 –> 00:05:27,280
چیزی نبینید. و همین است
137
00:05:27,280 –> 00:05:30,160
که وقتی کد را اجرا میکنم، یک راهاندازی اولیه ایجاد
138
00:05:30,160 –> 00:05:32,380
کردهایم، حالا یک پنجره سیاه
139
00:05:32,380 –> 00:05:34,840
با یک عنوان دریافت میکنیم، بنابراین بیایید در مورد نحوه
140
00:05:34,840 –> 00:05:37,440
طراحی روی آن
141
00:05:38,330 –> 00:05:40,430
برای ترسیم چیزها در pygame صحبت کنیم، شما باید
142
00:05:40,430 –> 00:05:41,900
سلسله مراتب چهار
143
00:05:41,900 –> 00:05:45,080
مفهوم مختلف را درک کنید که اساسیترین آنهاست.
144
00:05:45,080 –> 00:05:47,990
عنصر شیء سطح نمایشگر است که
145
00:05:47,990 –> 00:05:49,759
قبلاً آن را در کد ایجاد کرده ایم
146
00:05:49,759 –> 00:05:51,650
با PI Gambler که در حالت تنظیم نمایش داده می شود
147
00:05:51,650 –> 00:05:54,379
و آن را در متغیر صفحه ذخیره
148
00:05:54,379 –> 00:05:56,449
149
00:05:56,449 –> 00:05:58,909
می کنیم.
150
00:05:58,909 –> 00:06:01,970
یکی از این رو حتی اگر
151
00:06:01,970 –> 00:06:04,580
اشکال و تصاویر زیادی ایجاد کرده باشید، مگر
152
00:06:04,580 –> 00:06:06,740
اینکه روی سطح نمایشگر باشند،
153
00:06:06,740 –> 00:06:09,229
اکنون نشان داده نمی شوند، می توانید آن را
154
00:06:09,229 –> 00:06:11,479
مستقیماً روی این سطح نمایشگر با
155
00:06:11,479 –> 00:06:13,639
بازی های PI یا نقاشی بکشید و می توانید
156
00:06:13,639 –> 00:06:16,879
انواع اشکال را بکشید. با این
157
00:06:16,879 –> 00:06:18,500
حال دو عنصر دیگر وجود دارد که
158
00:06:18,500 –> 00:06:20,539
سازماندهی و دستکاری
159
00:06:20,539 –> 00:06:23,330
تمام اشکال و تصاویر را آسانتر میکند، اولی یک
160
00:06:23,330 –> 00:06:26,659
سطح منظم یا فقط یک
161
00:06:26,659 –> 00:06:28,430
سطح آن را مانند یک لایه اضافی
162
00:06:28,430 –> 00:06:30,979
که مواد را در خود نگه میدارد در نظر
163
00:06:30,979 –> 00:06:33,169
بگیرید که برای سازماندهی بازی شما بسیار مفید است.
164
00:06:33,169 –> 00:06:35,030
بین سطح نمایشگر و یک
165
00:06:35,030 –> 00:06:37,069
سطح معمولی این است که شما می توانید به
166
00:06:37,069 –> 00:06:39,860
تعداد دلخواه سطوح منظم داشته باشید،
167
00:06:39,860 –> 00:06:41,900
اما باید آنها را به صراحت به
168
00:06:41,900 –> 00:06:44,060
سطح نمایشگر متصل کنید، در غیر این صورت
169
00:06:44,060 –> 00:06:47,360
نشان داده نمی شوند، اما علاوه بر این،
170
00:06:47,360 –> 00:06:49,069
اساساً می توانید همان کار را با هر دو
171
00:06:49,069 –> 00:06:52,370
نوع انجام دهید. از سطحی مانند اضافه کردن نقاشی ها یا
172
00:06:52,370 –> 00:06:55,310
قرار دادن تصاویر روی آنها، عنصر دوم
173
00:06:55,310 –> 00:06:58,449
یک مستطیل یا یک مستطیل است
174
00:06:58,449 –> 00:07:00,039
و این به معنای واقعی کلمه
175
00:07:00,039 –> 00:07:02,710
مستطیل است، کاری که شما با این مستطیل انجام می دهید این
176
00:07:02,710 –> 00:07:04,840
است که می توانید آن را در اطراف
177
00:07:04,840 –> 00:07:07,689
اشکال و سطوح منظم قرار دهید که کار
178
00:07:07,689 –> 00:07:09,849
را بسیار آسان می کند. اندازه گیری آنها و
179
00:07:09,849 –> 00:07:12,960
همچنین دستکاری آنها
180
00:07:12,980 –> 00:07:14,630
که وقتی
181
00:07:14,630 –> 00:07:17,420
واقعاً یک بازی می سازید واقعاً مفید می شود و این برای
182
00:07:17,420 –> 00:07:19,850
این بازی است که من هیچ سرویسی نمی سازم یخها
183
00:07:19,850 –> 00:07:22,250
علاوه بر سطح نمایشگر،
184
00:07:22,250 –> 00:07:24,530
من از مستطیلها برای شکلها استفاده خواهم کرد،
185
00:07:24,530 –> 00:07:27,260
بیایید همه آنها را در کد قرار دهیم،
186
00:07:27,260 –> 00:07:29,120
با تعریف یک مستطیل برای توپ شروع میکنم.
187
00:07:29,120 –> 00:07:29,600
188
00:07:29,600 –> 00:07:32,210
189
00:07:32,210 –> 00:07:34,790
190
00:07:34,790 –> 00:07:37,599
مستطیل
191
00:07:37,599 –> 00:07:39,429
به خاطر داشته باشید که موقعیت X و y
192
00:07:39,429 –> 00:07:41,289
برای سمت چپ بالای
193
00:07:41,289 –> 00:07:43,990
مستطیل است و همچنین
194
00:07:43,990 –> 00:07:46,539
مبدأ خود پنجره در بالا سمت چپ است بنابراین
195
00:07:46,539 –> 00:07:47,979
اگر می خواهید پایین بروید باید
196
00:07:47,979 –> 00:07:50,860
Y را افزایش دهید خود توپ
197
00:07:50,860 –> 00:07:53,169
عرض آن 30 پیکسل و ارتفاع آن 30 پیکسل است
198
00:07:53,169 –> 00:07:56,499
که به راحتی می توان آن
199
00:07:56,499 –> 00:07:58,419
200
00:07:58,419 –> 00:08:00,909
201
00:08:00,909 –> 00:08:02,499
را درست در وسط صفحه قرار
202
00:08:02,499 –> 00:08:04,839
داد. صفحه نمایش تبلیغاتی ایجاد می کند زیرا
203
00:08:04,839 –> 00:08:07,719
من بالا را به سمت چپ حرکت می دهم و اگر آن را به همین صورت قرار
204
00:08:07,719 –> 00:08:09,819
می دادم کمی
205
00:08:09,819 –> 00:08:12,189
از مرکز خارج می شد اما می توان با
206
00:08:12,189 –> 00:08:13,959
کم کردن نیمی از عرض و نیمی
207
00:08:13,959 –> 00:08:16,539
از هیپ خود توپ و اگر این
208
00:08:16,539 –> 00:08:18,339
کار را انجام دهیم توپ برطرف می شود. کاملاً در مرکز
209
00:08:18,339 –> 00:08:20,860
بعدی I defi است یک مستطیل برای پخش کننده
210
00:08:20,860 –> 00:08:22,569
که وسط سمت راست قرار
211
00:08:22,569 –> 00:08:25,539
دادم به عرض 10 پیکسل و
212
00:08:25,539 –> 00:08:31,119
ارتفاع 140 پیکسل و یک جایی که بالا سمت چپ است روی
213
00:08:31,119 –> 00:08:33,639
صفحه مختصات با منفی 20 است و
214
00:08:33,639 –> 00:08:35,919
با همان روشی که به دست میآید ارتفاع میگیرم
215
00:08:35,919 –> 00:08:38,349
. ارتفاع توپ،
216
00:08:38,349 –> 00:08:41,019
ارتفاع صفحه را بر 2 تقسیم می کنم و
217
00:08:41,019 –> 00:08:43,259
نیمی از طول بازیکنان را از
218
00:08:43,259 –> 00:08:45,939
آن کم می کنم و سپس متغیر دیگری را برای حریف تعریف می کنم
219
00:08:45,939 –> 00:08:48,130
که یک مستطیل در
220
00:08:48,130 –> 00:08:50,740
مختصات 10 و به همان قد
221
00:08:50,740 –> 00:08:52,899
بازیکن نگه می دارد. همچنین 10
222
00:08:52,899 –> 00:09:00,370
پیکسل عرض و 140 پیکسل در حال حاضر
223
00:09:00,370 –> 00:09:03,040
اینها فقط مستطیل های خالی رایگان هستند تا
224
00:09:03,040 –> 00:09:04,689
در واقع آنها
225
00:09:04,689 –> 00:09:07,209
را بکشیم.
226
00:09:07,209 –> 00:09:08,709
227
00:09:08,709 –> 00:09:12,130
228
00:09:12,130 –> 00:09:14,860
سه آرگومان خدماتی
229
00:09:14,860 –> 00:09:17,139
است که روی یک آرگومان رنگی و یک
230
00:09:17,139 –> 00:09:19,959
مستطیل رسم می کنم، زیرا من مستقیماً روی
231
00:09:19,959 –> 00:09:22,149
سطح صفحه نمایش می کشم که یکی آسان است
232
00:09:22,149 –> 00:09:25,089
و همچنین دو مستطیل دارم که به آن نیاز دارم، بنابراین
233
00:09:25,089 –> 00:09:27,730
بیایید در مورد رنگ ها صحبت کنیم سپس
234
00:09:27,730 –> 00:09:30,819
دو راه برای ایجاد وجود دارد. متداول ترین رنگ ها و pygame
235
00:09:30,819 –> 00:09:33,009
با چندین
236
00:09:33,009 –> 00:09:36,370
مقدار RGB است که RGB مخفف قرمز سبز و آبی است
237
00:09:36,370 –> 00:09:38,620
و می توانید مقدار هر یک از
238
00:09:38,620 –> 00:09:40,630
این رنگ ها را تعیین کنید و اگر
239
00:09:40,630 –> 00:09:42,519
مقادیر مختلف هر یک از این رنگ ها را با هم ترکیب
240
00:09:42,519 –> 00:09:44,970
کنید، می توانید اساساً هر رنگی را ایجاد کنید. رنگ در
241
00:09:44,970 –> 00:09:47,709
اصل ما یک تاپل داریم که
242
00:09:47,709 –> 00:09:50,410
میتوانیم مقادیر کوتاه را به اولی برای
243
00:09:50,410 –> 00:09:51,310
قرمز مانند
244
00:09:51,310 –> 00:09:53,410
یکی برای سبز و سومی برای آبی منتقل کنیم
245
00:09:53,410 –> 00:09:55,829
و میتوانید مقادیر را از 0 تا
246
00:09:55,829 –> 00:09:59,350
255 انتخاب کنید که 0 بدون
247
00:09:59,350 –> 00:10:03,310
رنگ و 255 است. رنگ خالص پس
248
00:10:03,310 –> 00:10:07,720
برای قرمز خالص 255 0 و 0 برای
249
00:10:07,720 –> 00:10:11,259
سیاه خالص 0 0 0 و برای
250
00:10:11,259 –> 00:10:15,329
سفید خالص 255 255 و 255 خواهد
251
00:10:15,329 –> 00:10:17,829
بود. راه دیگر ایجاد رنگ و
252
00:10:17,829 –> 00:10:20,620
pygame با یک شی رنگی
253
00:10:20,620 –> 00:10:22,540
است که با دستور pygame code
254
00:10:22,540 –> 00:10:24,819
color ایجاد می شود و شما در رشته
255
00:10:24,819 –> 00:10:27,550
نام یک رنگ می نویسید، می توانید تمام
256
00:10:27,550 –> 00:10:30,639
نام رنگ های موجود را به صورت آنلاین پیدا کنید و این
257
00:10:30,639 –> 00:10:32,529
اساساً برای این یکی است. اجازه دهید من از
258
00:10:32,529 –> 00:10:34,329
هر دو روش استفاده کنم تا بچه ها ایده ای در
259
00:10:34,329 –> 00:10:36,790
مورد چگونگی آن داشته باشید. به نظر می رسد در کد I will make the
260
00:10:36,790 –> 00:10:39,040
back با یک شی رنگی زمین بزنید و از
261
00:10:39,040 –> 00:10:41,499
یک تاپل RGB برای ایجاد یک سفید مایل به خاکستری
262
00:10:41,499 –> 00:10:43,439
استفاده کنید که برای همه اشکال دیگر استفاده
263
00:10:43,439 –> 00:10:46,569
خواهم کرد، بنابراین در زیر مستطیل ها یک
264
00:10:46,569 –> 00:10:49,360
رنگ زیرخط BG متغیر اعلام می کنم
265
00:10:49,360 –> 00:10:51,370
و رنگ خون pygame را به آن اختصاص می دهم و در
266
00:10:51,370 –> 00:10:56,740
رشته خاکستری 12 و در ادامه می نویسم. خط بعدی
267
00:10:56,740 –> 00:10:58,720
متغیر دیگری به نام
268
00:10:58,720 –> 00:11:02,259
خاکستری روشن ایجاد میکنم و لولهای با 200 200
269
00:11:02,259 –> 00:11:06,220
و 200 به آن اختصاص میدهم که به ما خاکستری روشن میدهد با
270
00:11:06,220 –> 00:11:08,259
تمام این کارها میتوانیم
271
00:11:08,259 –> 00:11:11,110
با ترسیم دو بازیکن شروع به طراحی واقعی در حلقه کنیم.
272
00:11:11,110 –> 00:11:13,540
هر دو
273
00:11:13,540 –> 00:11:15,819
مستطیل ساده هستند pygame قرعه کشی
274
00:11:15,819 –> 00:11:18,309
مستقیم واقعاً خوب است من روی
275
00:11:18,309 –> 00:11:20,559
سطح رد کردم تا رنگ خاکستری روشن
276
00:11:20,559 –> 00:11:23,529
و مستطیل را بکشم و سپس همین
277
00:11:23,529 –> 00:11:29,379
کار را برای حریف انجام می دهم بعد توپ
278
00:11:29,379 –> 00:11:31,870
این است که با pygame می کشیم
279
00:11:31,870 –> 00:11:34,629
بیضی را بکش که یک سطح را نیز یک
280
00:11:34,629 –> 00:11:37,059
رنگ و یک مستطیل می گیرد، اما به جای
281
00:11:37,059 –> 00:11:39,670
اینکه تمام مستطیل را پر کند، از
282
00:11:39,670 –> 00:11:41,670
قاب خود برای کشیدن یک بیضی به داخل آن استفاده می کند و
283
00:11:41,670 –> 00:11:43,959
از آنجایی که طول همه اضلاع ما یکسان است،
284
00:11:43,959 –> 00:11:46,950
این بیضی تبدیل به یک دایره می شود
285
00:11:46,950 –> 00:11:49,530
و تمام آن را می پوشاند. اشکال اصلی هستند، اما
286
00:11:49,530 –> 00:11:51,300
من دو عنصر دیگر اضافه می کنم
287
00:11:51,300 –> 00:11:53,670
که مستطیل نیاز ندارند، خطی که
288
00:11:53,670 –> 00:11:55,980
دو طرف میدان را از هم جدا می کند و
289
00:11:55,980 –> 00:11:58,080
رنگ پس زمینه به خصوص
290
00:11:58,080 –> 00:11:59,700
رنگ پس زمینه مهم است زیرا
291
00:11:59,700 –> 00:12:01,680
بدون آن شما هنوز هم می
292
00:12:01,680 –> 00:12:03,570
توانید قاب قبلی را ببینید. که
293
00:12:03,570 –> 00:12:06,480
بازی را غیرممکن میکند، بنابراین
294
00:12:06,480 –> 00:12:08,160
رنگ پسزمینه را با پر کردن کل
295
00:12:08,160 –> 00:12:10,890
سطح نمایشگر اضافه میکنم، این کار با فراخوانی
296
00:12:10,890 –> 00:12:13,200
نقطه پر روی متغیری که
297
00:12:13,200 –> 00:12:16,830
صفحه سطح را در این حالت نگه میدارد، انجام میشود و
298
00:12:16,830 –> 00:12:19,380
رنگی را که میخواهم از BG و ESCO استفاده کنم، به آن منتقل کردم.
299
00:12:19,380 –> 00:12:22,300
رنگ در این مورد
300
00:12:22,300 –> 00:12:24,430
و در نهایت یک خط ایجاد می کنم که
301
00:12:24,430 –> 00:12:26,800
دو طرف را از هم جدا می کند این
302
00:12:26,800 –> 00:12:29,110
303
00:12:29,110 –> 00:12:32,080
304
00:12:32,080 –> 00:12:34,570
کار با pygame انجام می
305
00:12:34,570 –> 00:12:37,270
306
00:12:37,270 –> 00:12:39,100
شود. نقطه و لوله ای با نقطه انتهایی،
307
00:12:39,100 –> 00:12:42,370
بنابراین من از صفحه خاکستری روشن عبور می کنم
308
00:12:42,370 –> 00:12:44,860
تا رنگی که تاپل اول
309
00:12:44,860 –> 00:12:47,230
نصف صفحه و صفر
310
00:12:47,230 –> 00:12:49,240
برای وسط پنجره میز باشد،
311
00:12:49,240 –> 00:12:51,160
تاپل دوم خواهد بود. نیمی از صفحه نمایش
312
00:12:51,160 –> 00:12:53,500
سوئیفت و ارتفاع صفحه برای
313
00:12:53,500 –> 00:12:55,920
وسط پایین پنجره و
314
00:12:55,920 –> 00:12:58,480
نکته ای که باید به آن توجه کرد این است که
315
00:12:58,480 –> 00:13:01,300
ترتیب کد عناصر متوالی
316
00:13:01,300 –> 00:13:02,950
در حلقه روی هم کشیده می شوند
317
00:13:02,950 –> 00:13:05,590
بنابراین اولین عنصری که در کد
318
00:13:05,590 –> 00:13:07,380
در پایین قاب
319
00:13:07,380 –> 00:13:10,990
و آخرین کد در بالا خواهد بود اگر من
320
00:13:10,990 –> 00:13:12,640
یادداشت صفحه را زیر سایر
321
00:13:12,640 –> 00:13:14,620
عناصر قرار دهم، ما فقط پس زمینه را می بینیم،
322
00:13:14,620 –> 00:13:17,670
بنابراین مراقب آن باشید،
323
00:13:17,670 –> 00:13:20,830
اما اگر کد مناسب را اکنون اجرا کنم، می توانیم
324
00:13:20,830 –> 00:13:22,600
ببینید که تمام اشکال اصلی وجود دارد
325
00:13:22,600 –> 00:13:25,270
و با انجام آن میتوانیم به انیمیشنهایی برسیم که
326
00:13:25,270 –> 00:13:27,370
من با توپ شروع میکنم همین
327
00:13:27,370 –> 00:13:30,580
الان کد به این صورت عمل میکند
328
00:13:30,580 –> 00:13:32,470
، یک مستطیل با مختصات و
329
00:13:32,470 –> 00:13:35,020
ابعاد تعریف میکنیم و بعداً یک مستطیل
330
00:13:35,020 –> 00:13:37,780
روی سطح میکشیم. رنگی که ما
331
00:13:37,780 –> 00:13:40,210
انیمیشنها را انجام میدهیم به این صورت است که یک مرحله در میان اضافه میکنیم
332
00:13:40,210 –> 00:13:42,580
که به pygame میگوید
333
00:13:42,580 –> 00:13:44,590
مختصات را بر اساس تعداد پیکسلها در هر
334
00:13:44,590 –> 00:13:47,410
چرخه در حلقه جابهجا کند و برای این
335
00:13:47,410 –> 00:13:51,760
منظور مستطیلها اساساً در هر r و اطراف آن بسیار مفید هستند.
336
00:13:51,760 –> 00:13:54,490
337
00:13:54,490 –> 00:13:55,840
مستطیل این نقاط هستند که میتوانیم
338
00:13:55,840 –> 00:13:58,840
روی آنها تأثیر بگذار