در این مطلب، ویدئو کدنویسی بازی پایتون: دوربین پلتفرمر با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:12:56
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,439 –> 00:00:03,439
به همه خوش آمدید به
2
00:00:03,439 –> 00:00:06,000
اصول اولیه دوربین پلتفرمر بازی کد نویسی بازی پای بازی در
3
00:00:06,000 –> 00:00:07,520
این ویدیو، ما می خواهیم یاد بگیریم که
4
00:00:07,520 –> 00:00:08,800
چگونه یک دوربین را
5
00:00:08,800 –> 00:00:12,160
به برنامه آزمایشی ساده پلتفرمر خود اضافه کنیم،
6
00:00:12,160 –> 00:00:13,440
بنابراین امیدواریم
7
00:00:13,440 –> 00:00:15,599
اگر به عقب نرفته اید و ابتدا آن را تماشا نکرده اید، ویدیوی حرفه ای قبلی را تماشا کرده باشید.
8
00:00:15,599 –> 00:00:16,720
9
00:00:16,720 –> 00:00:18,160
من میخواهم سریعاً
10
00:00:18,160 –> 00:00:20,800
به اعضایم که به kevin به عنوان عضو paddle میپیوندند فریاد بزنم.
11
00:00:20,800 –> 00:00:22,560
12
00:00:22,560 –> 00:00:23,519
13
00:00:23,519 –> 00:00:26,560
14
00:00:26,560 –> 00:00:28,720
15
00:00:28,720 –> 00:00:29,599
16
00:00:29,599 –> 00:00:30,560
کانال را
17
00:00:30,560 –> 00:00:32,719
مستقیماً روی Join down کلیک کنید،
18
00:00:32,719 –> 00:00:36,079
بنابراین در حال حرکت، بیایید نگاهی به
19
00:00:36,079 –> 00:00:39,120
آنچه تاکنون داشتهایم بیندازیم، بنابراین این
20
00:00:39,120 –> 00:00:41,440
پلتفرم ساده ما است
21
00:00:41,440 –> 00:00:43,920
و من میتوانم به چپ حرکت کنم، میتوانم به راست حرکت کنم،
22
00:00:43,920 –> 00:00:45,200
میتوانم بپرم
23
00:00:45,200 –> 00:00:48,800
و بازیکن از روی صفحه
24
00:00:48,800 –> 00:00:51,039
میافتد و به بالای صفحه بازمیگردد. کاری که ما میخواهیم
25
00:00:51,039 –> 00:00:53,280
انجام
26
00:00:53,280 –> 00:00:55,360
دهیم این است که دوربینی به
27
00:00:55,360 –> 00:00:56,640
دنبال پخش کننده باشد که میخواهیم این کار
28
00:00:56,640 –> 00:00:56,960
29
00:00:56,960 –> 00:00:59,520
را به سادهترین شکل ممکن انجام دهیم.
30
00:00:59,520 –> 00:01:01,440
31
00:01:01,440 –> 00:01:03,199
32
00:01:03,199 –> 00:01:05,280
فقط حرکت کن بازیکن
33
00:01:05,280 –> 00:01:06,720
و اشیاء
34
00:01:06,720 –> 00:01:08,640
موجود در بازی، اما کاری که میخواهیم انجام دهیم این است که
35
00:01:08,640 –> 00:01:10,080
میخواهیم مانند ماریو فکر
36
00:01:10,080 –> 00:01:12,479
کنیم و میخواهیم بازی شما میدانید
37
00:01:12,479 –> 00:01:15,200
پسزمینه بازی اسکرول شود
38
00:01:15,200 –> 00:01:17,920
و بازیکن به نوعی روی صفحه بماند،
39
00:01:17,920 –> 00:01:18,560
40
00:01:18,560 –> 00:01:19,600
بنابراین این چیزی است که ما کاری که
41
00:01:19,600 –> 00:01:21,600
امروز انجام می شود اضافه کردن یک دوربین است که در واقع انجام آن
42
00:01:21,600 –> 00:01:23,360
بسیار ساده است،
43
00:01:23,360 –> 00:01:26,479
بنابراین چرا ما جلوتر برویم و شروع نکنیم
44
00:01:26,479 –> 00:01:28,880
تا بفهمیم یک دوربین چگونه کار می کند، بنابراین
45
00:01:28,880 –> 00:01:31,200
اجازه دهید من آن را پشتیبان بگیرم که
46
00:01:31,200 –> 00:01:32,400
اساساً کاری که می خواهیم انجام دهیم این است
47
00:01:32,400 –> 00:01:33,520
ما فعلاً نگران مختصات x
48
00:01:33,520 –> 00:01:34,640
49
00:01:34,640 –> 00:01:38,000
هستیم، بنابراین میخواهیم بازیکن اساساً در
50
00:01:38,000 –> 00:01:40,960
مرکز بماند و وقتی بازیکن حرکت میکند
51
00:01:40,960 –> 00:01:42,640
پسزمینه حرکت میکند،
52
00:01:42,640 –> 00:01:46,159
بنابراین اگر من به سمت چپ حرکت کنم، بازیکن
53
00:01:46,159 –> 00:01:47,759
باید در وسط بماند،
54
00:01:47,759 –> 00:01:49,360
اما پسزمینه باید به سمت چپ حرکت کند.
55
00:01:49,360 –> 00:01:51,600
درست است، اگر بازیکن به سمت راست حرکت کند
56
00:01:51,600 –> 00:01:53,680
، پسزمینه باید به سمت چپ حرکت کند،
57
00:01:53,680 –> 00:01:54,880
58
00:01:54,880 –> 00:01:58,640
زیرا نسبت به موقعیت بازیکن مرتبط است
59
00:01:58,640 –> 00:02:01,119
و دوباره انجام این کار نسبتاً ساده است.
60
00:02:01,119 –> 00:02:02,159
61
00:02:02,159 –> 00:02:02,640
62
00:02:02,640 –> 00:02:05,280
63
00:02:05,280 –> 00:02:06,719
چند گزینه دیگر بعدا
64
00:02:06,719 –> 00:02:09,038
و برای انجام این کار، میخواهم یک
65
00:02:09,038 –> 00:02:10,800
66
00:02:10,800 –> 00:02:13,680
دوربین بسازم، میخواهم بگویم یک شی دوربین یا یک
67
00:02:13,680 –> 00:02:14,959
کلاس دوربین،
68
00:02:14,959 –> 00:02:17,840
بنابراین میخواهم بگویم دوربین کلاس و
69
00:02:17,840 –> 00:02:19,440
این فقط به این دلیل است که بتوانیم
70
00:02:19,440 –> 00:02:19,760
71
00:02:19,760 –> 00:02:22,640
محل قرارگیری دوربین را پیگیری کنیم. be و
72
00:02:22,640 –> 00:02:24,800
ما آن را مقداردهی اولیه می
73
00:02:24,800 –> 00:02:27,760
کنیم و آن را با یک
74
00:02:27,760 –> 00:02:28,560
مختصات x شروع
75
00:02:28,560 –> 00:02:31,360
و یک چاه مقداردهی اولیه می کنیم و می گوییم با یک شی شروع که
76
00:02:31,360 –> 00:02:32,720
باید دنبال شود
77
00:02:32,720 –> 00:02:35,440
اکنون می توانستم این کار را با مختصات x y انجام دهم
78
00:02:35,440 –> 00:02:36,400
79
00:02:36,400 –> 00:02:39,120
اما از آن استفاده می کنیم یک شیء و بنابراین
80
00:02:39,120 –> 00:02:40,239
من میخواهم تنظیم کنم،
81
00:02:40,239 –> 00:02:42,160
آن هدف
82
00:02:42,160 –> 00:02:43,200
را صدا میزنم و بنابراین چیزی که میخواهم بگویم
83
00:02:43,200 –> 00:02:47,400
self.x برابر است با target.x
84
00:02:47,400 –> 00:02:51,040
self.y برابر است با نقطه هدف y
85
00:02:51,040 –> 00:02:52,800
و این همه منطقی خواهد بود. اوه،
86
00:02:52,800 –> 00:02:54,959
کمی خوب است،
87
00:02:54,959 –> 00:02:58,720
بنابراین من می خواهم save را بزنم
88
00:02:58,720 –> 00:03:01,040
و سپس کلاس را ایجاد کردم، به این
89
00:03:01,040 –> 00:03:03,440
معنی که اکنون باید
90
00:03:03,440 –> 00:03:04,560
91
00:03:04,560 –> 00:03:06,319
ادامه دهم و شی را ایجاد کنم، بنابراین بعد از
92
00:03:06,319 –> 00:03:07,920
ایجاد بلوک ها، آن را ایجاد می کنم قبلا می توانستم آن را
93
00:03:07,920 –> 00:03:09,040
ایجاد کنم،
94
00:03:09,040 –> 00:03:10,640
اما باید دنبال پخش کننده رفت و
95
00:03:10,640 –> 00:03:12,480
من توضیح می دهم که چرا در یک ثانیه
96
00:03:12,480 –> 00:03:14,959
دوربین، بنابراین یک چیز کوچک را اینجا قرار می دهم،
97
00:03:14,959 –> 00:03:15,680
بنابراین
98
00:03:15,680 –> 00:03:18,720
شی دوربین را ایجاد کنید
99
00:03:18,720 –> 00:03:22,560
o دوربین برابر با یک دوربین است و
100
00:03:22,560 –> 00:03:25,120
کاری که من میخواهم این دوربین انجام دهد این است
101
00:03:25,120 –> 00:03:28,000
که بازیکن را
102
00:03:28,000 –> 00:03:30,080
خوب دنبال کند، بنابراین دوربین در این
103
00:03:30,080 –> 00:03:32,400
بازی خاص روی بازیکن متمرکز میشود
104
00:03:32,400 –> 00:03:34,319
، هر چیز دیگری
105
00:03:34,319 –> 00:03:35,920
نسبت
106
00:03:35,920 –> 00:03:39,040
به آن بازیکن
107
00:03:39,040 –> 00:03:42,080
در حال حرکت است، حالا بیایید نگاه کنیم کد دوباره
108
00:03:42,080 –> 00:03:45,209
109
00:03:45,760 –> 00:03:49,360
پخش کننده [موسیقی] اوه دوربین کجا بود
110
00:03:49,360 –> 00:03:52,080
پس هدف ما پخش کننده است بنابراین
111
00:03:52,080 –> 00:03:54,000
مختصات x دوربین را روی مختصات
112
00:03:54,000 –> 00:03:55,040
x هدف قرار می
113
00:03:55,040 –> 00:03:56,720
دهیم مختصات y دوربین را روی
114
00:03:56,720 –> 00:03:58,640
مختصات y هدف قرار می دهیم که
115
00:03:58,640 –> 00:04:02,080
البته پخش کننده در این است وضعیت
116
00:04:02,080 –> 00:04:06,319
و کاری که اکنون باید انجام دهیم این است که
117
00:04:06,319 –> 00:04:08,080
روش رندر خود را به روز کنیم زیرا همه
118
00:04:08,080 –> 00:04:09,840
جادوها در واقع در اینجا در رندر اتفاق میافتند،
119
00:04:09,840 –> 00:04:12,159
بنابراین من ادامه میدهم و
120
00:04:12,159 –> 00:04:14,560
پخش کننده رندر نقطهای پخشکننده را قرار میدهم
121
00:04:14,560 –> 00:04:15,920
و این کمی زائد است زیرا
122
00:04:15,920 –> 00:04:18,079
پخش کننده در واقع
123
00:04:18,079 –> 00:04:20,798
خودش را دنبال میکند اما میتوانیم تغییر دهیم که اگر بخواهیم میتوانیم
124
00:04:20,798 –> 00:04:22,160
آن را به شی دیگری روی صفحه تبدیل
125
00:04:22,160 –> 00:04:23,040
کنیم
126
00:04:23,040 –> 00:04:25,280
و بلوکها نیز
127
00:04:25,280 –> 00:04:28,560
نسبت به پخشکننده نمایش داده میشوند،
128
00:04:28,560 –> 00:04:30,400
خوب است، بنابراین این همان چیزی است که
129
00:04:30,400 –> 00:04:32,000
ما روی آن تمرکز میکنیم.
130
00:04:32,000 –> 00:04:33,919
بنابراین من به روش رندر
131
00:04:33,919 –> 00:04:34,800
132
00:04:34,800 –> 00:04:36,240
[Music] می روم
133
00:04:36,240 –> 00:04:39,360
و کارهایی را که در اینجا انجام می دهم دوباره تماشا می کنم
134
00:04:39,360 –> 00:04:40,800
همانطور که قبلاً اشاره کردم، ما
135
00:04:40,800 –> 00:04:42,560
فقط با مختصات x سروکار داریم،
136
00:04:42,560 –> 00:04:46,270
بنابراین وقتی این مستطیل را ترسیم می کنم
137
00:04:46,270 –> 00:04:48,400
[Music]
138
00:04:48,400 –> 00:04:51,280
i من میروم و در اینجا
139
00:04:51,280 –> 00:04:52,800
140
00:04:52,800 –> 00:04:56,800
منهای دوربین x
141
00:04:56,800 –> 00:05:00,560
را قرار میدهم و همچنین باید دوربین را در اینجا قرار
142
00:05:00,560 –> 00:05:03,840
143
00:05:03,840 –> 00:05:07,680
دهم، زیرا روش رندر اکنون شیئی را ارسال میکند که میخواهیم
144
00:05:07,680 –> 00:05:08,560
دنبالش کنیم،
145
00:05:08,560 –> 00:05:10,560
خوب حالا این کار نمیکند هنوز کار نمیکند
146
00:05:10,560 –> 00:05:11,600
. به نوعی شما را از طریق
147
00:05:11,600 –> 00:05:12,720
فرآیندی که من انجام دادم
148
00:05:12,720 –> 00:05:13,840
زمانی که میخواستم کل این
149
00:05:13,840 –> 00:05:15,520
موضوع را بفهمم انجام دادم، چند نفر سعی کردم
150
00:05:15,520 –> 00:05:16,720
صادق
151
00:05:16,720 –> 00:05:19,360
باشم، بنابراین همانطور که قبلاً اشاره کردم اگر
152
00:05:19,360 –> 00:05:21,600
بازیکن به سمت راست حرکت میکند،
153
00:05:21,600 –> 00:05:24,080
ما میخواهیم پسزمینه به سمت راست حرکت کند.
154
00:05:24,080 –> 00:05:26,080
سمت چپ و بالعکس به همین دلیل است که این
155
00:05:26,080 –> 00:05:26,560
منهای است
156
00:05:26,560 –> 00:05:28,479
و نه به اضافه، بیایید برویم آن را اجرا کنیم و ببینیم
157
00:05:28,479 –> 00:05:29,680
چه اتفاقی می افتد
158
00:05:29,680 –> 00:05:31,360
خوب است، بنابراین ما کمی
159
00:05:31,360 –> 00:05:32,960
نتیجه ای داریم که می خواستیم
160
00:05:32,960 –> 00:05:34,320
اکنون در مرکز نیست، بنابراین
161
00:05:34,320 –> 00:05:36,479
سعی می کنم و حرکت کنم پخشکننده خوب است، بنابراین میبینید
162
00:05:36,479 –> 00:05:38,240
که پخشکننده چگونه در حال حرکت است یا
163
00:05:38,240 –> 00:05:39,600
پسزمینه در حال حرکت است
164
00:05:39,600 –> 00:05:42,240
اما پخشکننده n است در غیر این صورت پخشکننده
165
00:05:42,240 –> 00:05:43,120
166
00:05:43,120 –> 00:05:46,240
ثابت میماند،
167
00:05:46,240 –> 00:05:49,199
اما حداقل در X-Coordinate، بنابراین
168
00:05:49,199 –> 00:05:50,240
همه چیز همچنان کار میکند و
169
00:05:50,240 –> 00:05:51,919
دقیقاً همان کاری را که ما میخواهیم انجام میدهد،
170
00:05:51,919 –> 00:05:54,400
فقط کمی از صفحه نمایش
171
00:05:54,400 –> 00:05:56,160
انجام میدهد و این یک تعمیر بسیار آسان خواهد بود،
172
00:05:56,160 –> 00:05:59,199
بنابراین
173
00:05:59,199 –> 00:06:01,440
من من به جلو می روم و روی
174
00:06:01,440 –> 00:06:03,440
[Music]
175
00:06:03,440 –> 00:06:05,840
کلیک می کنم، این را قرار می دهم و متوجه می
176
00:06:05,840 –> 00:06:07,440
شوید که چگونه به سمت چپ بود،
177
00:06:07,440 –> 00:06:08,960
بنابراین من فقط عرض را اضافه می کنم
178
00:06:08,960 –> 00:06:11,680
که عرض صفحه تقسیم بر 2.0
179
00:06:11,680 –> 00:06:13,280
است. کمی
180
00:06:13,280 –> 00:06:16,160
افست اضافی به ما بدهید که ما را به مرکز بازگرداند،
181
00:06:16,160 –> 00:06:19,440
بنابراین حالا اگر پخش کننده
182
00:06:19,440 –> 00:06:22,720
خوب به چپ حرکت کند، پخش کننده به راست حرکت می کند
183
00:06:23,300 –> 00:06:24,880
[موسیقی]
184
00:06:24,880 –> 00:06:26,880
و این یعنی نگه داشتن همه چیز
185
00:06:26,880 –> 00:06:28,319
در جایی که می خواهیم
186
00:06:28,319 –> 00:06:31,120
باشد و اگر زمین بخورم صفحه
187
00:06:31,120 –> 00:06:32,720
نمایش دقیقاً به همان
188
00:06:32,720 –> 00:06:35,520
جایی که ما میخواستیم بازنشانی میکند که خیلی
189
00:06:35,520 –> 00:06:36,080
باحال است،
190
00:06:36,080 –> 00:06:39,199
بله، در
191
00:06:39,199 –> 00:06:41,440
واقع من یک کد اضافی داشتم
192
00:06:41,440 –> 00:06:42,240
نس