در این مطلب، ویدئو آموزش پایتون / Pygame: انیمیشن با جن با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:14:25
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:01,829
در این آموزش ما
2
00:00:01,829 –> 00:00:04,290
میخواهیم انیمیشن فریم اسپرایت و بازی PI را بسازیم
3
00:00:04,290 –> 00:00:06,180
و برای نشان دادن این اصل
4
00:00:06,180 –> 00:00:07,440
، این قورباغه کوچک را میگیریم و
5
00:00:07,440 –> 00:00:09,480
آن را متحرک میکنیم که باید یک کار کاملاً
6
00:00:09,480 –> 00:00:11,639
ساده باشد و
7
00:00:11,639 –> 00:00:13,410
انجام همه اینها برای استفاده از
8
00:00:13,410 –> 00:00:15,870
بازی sprites و PI که من
9
00:00:15,870 –> 00:00:17,580
در آخرین ویدیو در مورد آن آموزش انجام دادم،
10
00:00:17,580 –> 00:00:19,470
بنابراین اگر در بازی PI کاملاً تازه کار هستید
11
00:00:19,470 –> 00:00:22,529
و نحوه شروع من
12
00:00:22,529 –> 00:00:24,750
این است که طبق معمول ما با
13
00:00:24,750 –> 00:00:27,210
وارد کردن بازی PI شروع می کنیم، این یکی را بررسی کنید. سپس ما یک
14
00:00:27,210 –> 00:00:29,010
راه اندازی کلی با شروع بازی PI داریم
15
00:00:29,010 –> 00:00:31,050
که ساعت را ایجاد می کند یا فریم ها را
16
00:00:31,050 –> 00:00:33,329
در ثانیه با ساعت می چرخانیم، سپس
17
00:00:33,329 –> 00:00:35,640
سطح نمایش اصلی خود را داریم که هنوز
18
00:00:35,640 –> 00:00:39,540
صفحه نمایش نامیده می شود، سپس ما حلقه بازی خود
19
00:00:39,540 –> 00:00:42,450
را در اینجا قرار می دهیم و همه چیزها را دوباره ترسیم می کنیم.
20
00:00:42,450 –> 00:00:44,489
یک چیز کمی پیشرفته تر این است که
21
00:00:44,489 –> 00:00:46,320
ما قبلاً کلاسی به نام بازیکن داریم
22
00:00:46,320 –> 00:00:49,800
که در حال حاضر فقط سطح را می کشد و سطح را پر می کند
23
00:00:49,800 –> 00:00:51,539
و سپس مستطیل را می گیرد
24
00:00:51,539 –> 00:00:53,100
و مستطیل را روی
25
00:00:53,100 –> 00:00:56,910
صفحه قرار می دهد و سپس آن را در اینجا روشن
26
00:00:56,910 –> 00:01:00,359
می کند. با اضافه کردن این اسپرایت به یک گروه اسپرایت
27
00:01:00,359 –> 00:01:01,980
و سپس این یکی را در حلقه اصلی بازی ترسیم می
28
00:01:01,980 –> 00:01:04,110
کنیم تا چیزی که برای این یکی به دست می آوریم
29
00:01:04,110 –> 00:01:06,900
یک مستطیل ساده است که
30
00:01:06,900 –> 00:01:09,180
واقعاً هیچ کاری انجام نمی دهد و من فقط آن را اینجا قرار می دهم
31
00:01:09,180 –> 00:01:11,100
تا مقداری تایپ ذخیره شود. می خواهید
32
00:01:11,100 –> 00:01:12,570
جزئیات بیشتری در مورد این موضوع داشته باشید، آخرین آموزش را بررسی کنید،
33
00:01:12,570 –> 00:01:14,729
بنابراین انیمیشن قرار است
34
00:01:14,729 –> 00:01:16,950
در این کلاس اتفاق بیفتد و قبل از اینکه ما آن را
35
00:01:16,950 –> 00:01:18,900
برنامه ریزی کنیم، بیایید در مورد نحوه
36
00:01:18,900 –> 00:01:20,490
کار انیمیشن ها صحبت کنیم، زیرا این بسیار
37
00:01:20,490 –> 00:01:22,950
مهم است که یک انیمیشن به خودی خود در
38
00:01:22,950 –> 00:01:25,110
واقع واقعاً ساده است، تنها چیزی که نیاز دارید،
39
00:01:25,110 –> 00:01:26,909
تصاویر مختلف است. مراحل
40
00:01:26,909 –> 00:01:29,220
مختلف انیمیشن، به
41
00:01:29,220 –> 00:01:30,000
عنوان مثال در
42
00:01:30,000 –> 00:01:31,920
مورد ما، تنها چیزی که داریم 10 عکس از
43
00:01:31,920 –> 00:01:33,930
فریم های مختلف انیمیشن قورباغه است
44
00:01:33,930 –> 00:01:36,150
و اگر اینها را سریع پشت سر هم بازی کنید،
45
00:01:36,150 –> 00:01:38,159
چشم ما این را به عنوان یک حرکت
46
00:01:38,159 –> 00:01:40,680
متحرک درک می کند که اساساً هر نوع دیگری است
47
00:01:40,680 –> 00:01:42,930
. انیمیشن دو بعدی این است که فقط
48
00:01:42,930 –> 00:01:44,909
فریم های زیادی را پشت سر هم
49
00:01:44,909 –> 00:01:46,740
می کشد و شما آنها را به اندازه کافی سریع پخش می کنید، بنابراین چشم ما
50
00:01:46,740 –> 00:01:49,380
این را به عنوان حرکتی تفسیر می کند که اساساً
51
00:01:49,380 –> 00:01:51,689
هر فیلمی قبل از ساخت سه بعدی به این شکل است.
52
00:01:51,689 –> 00:01:54,000
فیلمهای سهبعدی به روشهای مختلفی کار میکنند،
53
00:01:54,000 –> 00:01:56,280
اما این موضوع برای چیزهای کاملاً
54
00:01:56,280 –> 00:01:57,630
متفاوتی است، اما این موضوع
55
00:01:57,630 –> 00:01:59,310
نشان میدهد که ما به چه چیزی نیاز داریم تا sprite ما
56
00:01:59,310 –> 00:02:01,890
بتواند آن را متحرک
57
00:02:01,890 –> 00:02:03,810
58
00:02:03,810 –> 00:02:05,969
کند.
59
00:02:05,969 –> 00:02:08,610
از طریق آنها با سرعت خاصی و
60
00:02:08,610 –> 00:02:10,348
کنترل سرعت اجرای
61
00:02:10,348 –> 00:02:11,580
انیمیشن بسیار مهم است،
62
00:02:11,580 –> 00:02:13,170
ما میبینیم که در عرض یک
63
00:02:13,170 –> 00:02:14,760
ثانیه و در مورد
64
00:02:14,760 –> 00:02:16,320
نحوه کنترل سرعت
65
00:02:16,320 –> 00:02:18,660
انیمیشن صحبت خواهیم کرد.
66
00:02:18,660 –> 00:02:21,390
اولین قدم سخت این است که همه
67
00:02:21,390 –> 00:02:24,750
انیمیشن ها را وارد کلاس خود کنیم، چیزی که می توانم
68
00:02:24,750 –> 00:02:26,250
بگویم اولین گام این است که از شر
69
00:02:26,250 –> 00:02:28,110
چیزهای موجود خلاص شویم زیرا
70
00:02:28,110 –> 00:02:31,200
به آن نیاز نداریم بله، ما واقعاً به آن نیاز نداریم
71
00:02:31,200 –> 00:02:35,150
و من من با ایجاد
72
00:02:35,150 –> 00:02:38,550
اسپرایت های خودآموز شروع می کنم
73
00:02:38,550 –> 00:02:42,030
که فقط یک لیست خالی خواهد بود و در این
74
00:02:42,030 –> 00:02:45,720
لیست 10 تصویر بارگذاری می شود و من قبلاً
75
00:02:45,720 –> 00:02:47,820
همه اینها را کپی کرده ام به
76
00:02:47,820 –> 00:02:49,470
این شکل هستند بنابراین لازم نیست تماشا کنید
77
00:02:49,470 –> 00:02:52,470
من همه اینها را با دست تایپ می کنم تنها کاری که انجام می دهیم این است که ما
78
00:02:52,470 –> 00:02:55,230
t ake این گروه و ما یک چیز را می نویسیم
79
00:02:55,230 –> 00:02:57,360
و آن تصویری است که
80
00:02:57,360 –> 00:02:58,890
در آن بارگذاری می کنیم و من
81
00:02:58,890 –> 00:03:01,740
تصاویر 1 تا 10 را خواهم داشت و همه این
82
00:03:01,740 –> 00:03:03,600
تصاویر در همان پوشه اسکریپت هستند
83
00:03:03,600 –> 00:03:05,400
در غیر این صورت باید اضافه کنید برخی
84
00:03:05,400 –> 00:03:07,050
چیزها در ابتدا برای رسیدن به مسیر مناسب
85
00:03:07,050 –> 00:03:10,170
به سمت تصویر شما و اکنون
86
00:03:10,170 –> 00:03:13,920
ما 10 تصویر در کلاس اسپرایت خود داریم، اکنون
87
00:03:13,920 –> 00:03:15,180
باید راهی پیدا کنیم که
88
00:03:15,180 –> 00:03:17,130
چگونه یک تصویر خاص را در مراحل
89
00:03:17,130 –> 00:03:19,320
مختلف انیمیشن انتخاب کنیم و اولین قدم
90
00:03:19,320 –> 00:03:22,280
به سمت آن است. چیزی که من قرار است
91
00:03:22,280 –> 00:03:27,600
اسم فعلی را اسپرایت بگذارم و به طور پیش فرض این 0 است
92
00:03:27,600 –> 00:03:29,280
و شما در یک ثانیه خواهید دید که چرا
93
00:03:29,280 –> 00:03:30,989
این یکی در حال حاضر مهم می شود،
94
00:03:30,989 –> 00:03:33,780
بنابراین وقتی تصویر واقعی
95
00:03:33,780 –> 00:03:37,920
را برای این اسپرایت انتخاب می کنم، می خواهم آن را
96
00:03:37,920 –> 00:03:41,459
خودآموز بگیرم sprite خوب sprite با
97
00:03:41,459 –> 00:03:43,560
کل این گروه و من میخواهم
98
00:03:43,560 –> 00:03:45,989
یکی از اینها را انتخاب کنم که ایندکس
99
00:03:45,989 –> 00:03:48,600
باشد و این اسپرایت باشد، بنابراین
100
00:03:48,600 –> 00:03:50,010
بعداً این
101
00:03:50,010 –> 00:03:51,989
تعداد را به تدریج افزایش میدهیم و سپس فقط
102
00:03:51,989 –> 00:03:55,470
اینها را یکی یکی مرور میکنیم. فقط می خواهم
103
00:03:55,470 –> 00:03:59,940
خود نقطه را انتخاب کنم sprite فعلی بنابراین
104
00:03:59,940 –> 00:04:01,860
در حال حاضر ما فقط اولین اسپرایت را انتخاب می کنیم
105
00:04:01,860 –> 00:04:04,380
بنابراین به طور پیش فرض این
106
00:04:04,380 –> 00:04:07,560
اولین تصویر استاندارد ما خواهد بود و اکنون ما
107
00:04:07,560 –> 00:04:09,180
برای تصویر هستیم اکنون فقط باید
108
00:04:09,180 –> 00:04:12,480
اطراف آن را مستطیل کنیم اما خود مستقیم برابر است با
109
00:04:12,480 –> 00:04:16,738
تصویر نقطه خود نقطه گربه درست مثل قبل کار می کند
110
00:04:16,738 –> 00:04:18,510
و اکنون
111
00:04:18,510 –> 00:04:21,060
باید این مستطیل را با فکر خود نقطه
112
00:04:21,060 –> 00:04:24,240
راست قرار دهیم و من بالا سمت چپ را قرار می دهم
113
00:04:24,240 –> 00:04:25,880
اما مکان ها را به هر حال شما
114
00:04:25,880 –> 00:04:30,620
و موقعیت X و
115
00:04:30,620 –> 00:04:34,680
Y خواهد بود، بنابراین اکنون وقتی این
116
00:04:34,680 –> 00:04:38,580
نوع کلاس را شروع می کنیم، یک عدد دریافت می کنیم. عکس و بیایید در
117
00:04:38,580 –> 00:04:40,860
واقع این را امتحان کنیم، باید قبلاً کار می کرد،
118
00:04:40,860 –> 00:04:45,720
به جز اینکه من یک اشتباه تایپی انجام دادم، اکنون
119
00:04:45,720 –> 00:04:46,820
باید دقیقاً کار کند،
120
00:04:46,820 –> 00:04:49,139
ما می توانیم تصویر یک قورباغه را ببینیم
121
00:04:49,139 –> 00:04:54,800
و خیلی به سمت راست منتقل شده است،
122
00:04:54,800 –> 00:04:58,500
بنابراین اجازه دهید آن را منتقل کنم، فکر می کنم فقط
123
00:04:58,500 –> 00:05:01,650
تغییر می کند تا 10 و 10 باید
124
00:05:01,650 –> 00:05:03,479
بهتر به نظر برسد بله
125
00:05:03,479 –> 00:05:05,430
دقیقاً این بهتر به نظر می رسد بنابراین می توانیم
126
00:05:05,430 –> 00:05:07,949
حداقل تقریباً 10 پیکسل از سمت چپ را
127
00:05:07,949 –> 00:05:09,990
ببینیم اما از بالا کمی دورتر است
128
00:05:09,990 –> 00:05:12,030
و دلیل آن این است که
129
00:05:12,030 –> 00:05:14,250
فضای خالی زیادی در بالای صفحه دارد. قورباغه آن را
130
00:05:14,250 –> 00:05:15,690
مانند آن در t بود او یک قطعه هنری اصلی بود
131
00:05:15,690 –> 00:05:17,550
و من واقعاً آن را تغییر ندادم، اما
132
00:05:17,550 –> 00:05:19,560
خیلی مهم نیست، خوب
133
00:05:19,560 –> 00:05:22,470
حالا با یک قورباغه بیایید از انیمیشن شروع کنیم
134
00:05:22,470 –> 00:05:25,919
و برای متحرک سازی آن به عملکرد به روز رسانی نیاز داریم،
135
00:05:25,919 –> 00:05:31,200
بنابراین برنامه توسعه و خود را طبق معمول
136
00:05:31,200 –> 00:05:34,380
به روز کنید و برای رسیدن به شروع تمام چیزی است که ما به یک
137
00:05:34,380 –> 00:05:40,320
اسپرایت فعلی خود نقطه نیاز داریم و این باید به
138
00:05:40,320 –> 00:05:43,530
علاوه برابر با یک باشد، بنابراین در هر فریم
139
00:05:43,530 –> 00:05:45,150
فقط این عدد را یک عدد افزایش می دهیم و
140
00:05:45,150 –> 00:05:47,700
سپس هر اسپرایتی را که
141
00:05:47,700 –> 00:05:49,470
استفاده می کنیم انتخاب می کنیم تا با این یکی شروع کنیم سپس
142
00:05:49,470 –> 00:05:51,240
به این یکی می رسیم. این یکی و
143
00:05:51,240 –> 00:05:51,960
غیره
144
00:05:51,960 –> 00:05:54,479
بنابراین اکنون ما یک اسپرایت فعلی به روز شده
145
00:05:54,479 –> 00:05:56,070
داریم، اما باید مطمئن شویم که
146
00:05:56,070 –> 00:05:59,370
تصویر خود نقطه نیز به روز می شود، بنابراین
147
00:05:59,370 –> 00:06:05,160
تصویر خود نقطه برابر با اسپرایت های
148
00:06:05,160 –> 00:06:10,199
خود نقطه است اما تصویر فعلی خود نقطه دلیل
149
00:06:10,199 –> 00:06:11,849
آن این است که وقتی شروع می کنیم این
150
00:06:11,849 –> 00:06:14,490
کلاس از عدد صفر برای
151
00:06:14,490 –> 00:06:16,710
اسپرایت فعلی استفاده میکند، اما وقتی اسپرایت فعلی را بهروزرسانی
152
00:06:16,710 –> 00:06:18,780
میکنیم، قبلاً یکی را انتخاب کرده است، بنابراین باید
153
00:06:18,780 –> 00:06:20,639
دوباره تصویر را انتخاب کنیم، این کار ما را
154
00:06:20,639 –> 00:06:22,620
شروع میکند، اما خیلی سریع با یک پیغام خطا مواجه
155
00:06:22,620 –> 00:06:25,530
میشویم، اما در برخی مواقع به یک پیام خطایی میرسیم.
156
00:06:25,530 –> 00:06:27,110
عددی که بالاست r از این مورد و
157
00:06:27,110 –> 00:06:29,400
پایتون دیگر آیتم لیست را پیدا
158
00:06:29,400 –> 00:06:33,690
نمی کند، بنابراین آنچه ما نیاز داریم این است که اگر خود
159
00:06:33,690 –> 00:06:37,770
نقطه یا و اسپرایت بزرگتر یا مساوی
160
00:06:37,770 –> 00:06:38,970
از
161
00:06:38,970 –> 00:06:44,910
اسپرایت های خودآموخته باشد، می
162
00:06:44,910 –> 00:06:50