Кейіпкерлерді анимациялау

PyGame ойын алаңында кейіпкерлерді қалай жылжытуға болады?

Анимация (Animation)

1-сурет. Кейіпкерді қозғалту қадамдары

Ойлан

1. Анимация дегеніміз не? Есіңе түсір.
2. ​Компьютер пайда болмай тұрғанда, мультфильм кейіпкерлеріне қалай «жан» бітірген?
3.​Қандай програмаларда анимациямен жұмыс істедің?
4. ​Компьютерлік ойындардың кейіпкерлерін қозғалту қалай орындалады? Ойланып көр!

Pygame-де ойын терезесін дайындауды, ойынның артқы фонын, ойынның кейіпкерлерін кірістіруді үйрендік. Енді ойындағы ең басты мәселе – кейіпкерлерді қозғалту (1-сурет) әдістерімен танысайық.

Есіңізде сақтаңыз

Анимация (Animation) – ол қозғалыстың әртүрлі кезеңіне сәйкес кескіндер тізбегін экранда жылдамдата көрсету арқылы дене қозғалысы динамикасын бейнелеу тәсілі.

Компьютерлік анимация

2-сурет. Автокөлік                                                                                        3-сурет. Анимациялау

-1-

Компьютерлік анимация дегенде графикалық пиксельдердің бір орыннан екінші орынға орын ауыстыруы деп түсіну керек. Pygame-де ойын кейіпкерін анимациялау үшін өткен тақырыпта ойын терезесіне қойылған кейіпкерді (2-сурет) жылжытуды қарастырайық. 2-суреттегі автокөлікті қозғалту үшін оны бастапқы орнынан 200 пиксель оңға жылжытайық. Бұл үшін автокөліктің орнын сипаттайтын координатадағы х-ті 200-ге өзгертсек жеткілікті. Автокөлікті қозғалтатын программаның коды мен (1-код) орындау нәтижесі 3-суретте берілген. Программада қолданылған pygame.time.delay(К) функциясы

-2-

 программаның орындалуын К миллисекундқа тоқтатып тұрады. 4-ші және 5-суретте көріп тұрғандай программа іске қосылғаннан соң 1000 миллисекундтан (1-секунд) кейін автокөлік өз орнын жаңа орынға өзгертті. Ойын терезесінде бір емес 2 автокөлік пайда болды. Компьютерлік графикада кейіпкерді (графикалық нысанды) анимациялау екі кезеңде жүзеге асырылады:
1. Кейіпкердің орнын жаңа орынға ауыстыру;
2. Бастапқы орындағы кейіпкерді өшіру.
Қаламмен қағазға салынған суретті өшіргіш көмегімен оңай өшіріп тастауға болады.

-3-

Ал, мысалы, қағазға майлы бояумен көгілдір түсті ашық аспанға бұлт салдық дейік. Егер бұлтты өшіріп тастауымыз керек болса не істеу керек? Әрине, бұлттың үстінен қайтадан көгілдір түспен бояуымыз керек. Компьютерлік ойын терезесінде нысандарды дәл осылай өшіруге болады, ол үшін нысан тұрған орынды артқы фонның түсіне бояу керек.
3-суреттегі ойын терезесінің артқы фоны ақ болғаны үшін, 1-автокөлік тұрған орынды ақ түске бояймыз. 1-программа кодына төмендегі 1-қатарды қосып, оны өзгертеміз.

pygame.draw.rect(screen, [255,255,255], [10, 30, 170, 110], 0)

4-сурет. Автокөліктің бастапқы орны
5-сурет. Автокөліктің соңғы орны

Ойыңды тұжырымда

Топтық жұмыс

Бүгінгі таңда жасөспірімдер арасында қандай тақырыптағы компьютерлік ойындар ерекше сұранысқа ие? Себебі не? Талдаңдар. Мысалдар келтіріңдер.

Жұптық жұмыс

Компьютерлік ойындардың пайдасы мен шектен тыс ойнаудың адам ағзасына зияны жайлы өз ойларыңды тұжырымдаңдар. Компьютерлік ойындарды ойнауды ұнататын құрбыларың мен достарыңа денсаулығына зиян келтірмей ойнау ережесін ұсыныңдар.

Жеке жұмыс

1. Компьютерлік ойындар жақын болашақта қалай дамиды деп ойлайсың? Болжам жаса. Болжамыңды негіздеп бер.
​2. Компьютерлік анимация дегеніміз не?
​3. Pygame-де кейіпкерді қалай қозғалтады? Түсіндір.
​4. pygame.time.delay фунциясының қызметі не?
​5. Қазақстанда түсірілген қандай анимациялық мултьфильмдерді білесің?
​6. Ойын терезесінде кейіпкерлерді өшірудің мақсаты қандай? Өшіру командасы қалай жұмыс істейді? Түсіндір.

Өтінемін күте тұрыңыз