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