Prijavi problem


Obeleži sve katergorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Programiranje grafike pomoću Pygame, priručnik za sedmi razred

Комбиновање анимације и реаговања на догађаје

У неким ситуацијама желимо да комбинујемо анимације и догађаје. На пример, желимо да мишем померамо анимиране ликове по екрану. То није тешко остварити коришћењем техника које смо већ објаснили у поглављима о анимацијама и догађајима. У наредним програмима обично ће корисник дефинисати три помоћне функције: crtaj, obradi_dogadjaj и novi_frejm и њихов ће задатак бити исти као и у програмима које смо до сада писали.

Лоптица која прати миша и оставља траг

Напиши програм који приказује лоптицу која прати миша и оставља траг по екрану. Кликом мишем брише се дотадашњи траг.

У листи trag чуваће се положаји центра лоптице током њеног досадашњег кретања. Функција crtaj ће исцртавати лоптицу на сваком од положаја у тој листи. Функција novi_frejm се позива у правилним временским интервалима и у њој ћемо лоптицу померати ка тренутној позицији миша (коју, подсетимо се, можемо очитати помоћу pg.mouse.get_pos()). Одређивање координата се заснива на сличности троуглова и већ смо га описали у поглављу о анимацијама. Да бисмо избегли непотребно попуњавање листе истим бројевима (у ситуацији када лоптица мирује на позицији миша који се не помера), додавање ћемо вршити само када је листа trag празна или када је елемент који се додаје различит од њеног последњег елемента.

На крају, у функцији obradi_dogadjaj само реагујемо на догађај клика мишем и то тако што празнимо листу trag.

Бацање новчића

Напиши програм који симулира бацање новчића. Након клика мишем новчић се заврти и насумично се (са вероватноћом 20 процената) одређује да ли ће се зауставити када достигне један од два крајња положаја (писмо или глава).

За анимацију можемо користити сличице које су именоване као 5dinara_glava0.jpeg, …, 5dinara_glava10.jpeg, 5dinara_pismo0.jpeg, …, 5dinara_pismo10.jpeg.

../_images/5dinara_glava0.jpeg ../_images/5dinara_glava1.jpeg ../_images/5dinara_glava2.jpeg ../_images/5dinara_glava3.jpeg ../_images/5dinara_glava4.jpeg ../_images/5dinara_glava5.jpeg ../_images/5dinara_glava6.jpeg ../_images/5dinara_glava7.jpeg ../_images/5dinara_glava8.jpeg ../_images/5dinara_glava9.jpeg ../_images/5dinara_glava10.jpeg ../_images/5dinara_pismo0.jpeg ../_images/5dinara_pismo1.jpeg ../_images/5dinara_pismo2.jpeg ../_images/5dinara_pismo3.jpeg ../_images/5dinara_pismo4.jpeg ../_images/5dinara_pismo5.jpeg ../_images/5dinara_pismo6.jpeg ../_images/5dinara_pismo7.jpeg ../_images/5dinara_pismo8.jpeg ../_images/5dinara_pismo9.jpeg ../_images/5dinara_pismo10.jpeg

Корачање до циља

Лик стоји на малој платформи која се мишем може померати лево-десно. Када се платформа помери, лик полако корача све док не стигне до ње.