Напредак се не прати јер нисте улоговани.
Садржај

5.1. Цртање облика - квадрати и правоугаоници

У библиотеци PyGame можемо једноставно цртати квадрате и правоугаонике. За то користимо следећу функцију са параметрима наведеним у загради, где је rect скраћено од енглеске речи rectangle што значи правоугаоник:

pg.draw.rect(prozor, boja, (x, y, a, b), debljina_linije)

https://petljamediastorage.blob.core.windows.net/root/Media/Default/Kursevi/OnlineNastava/kurs-sedmi-pygame/pravougaonik01.png

Параметри функције су редом:

  • прозор на коме се црта;

  • боја;

  • уређена четворка бројева чија прва два броја представљају координате горњег левог темена правоугаоника, а друга два представљају редом његову ширину и висину;

  • дебљина линије којом се црта (ако се изостави, или се наведе нула, правоугаоник је попуњен бојом и нема назначену ивицу).

Дебљина линије - појашњење

Четврти (последњи наведен) аргумент је опциони (не мора се навести). Он представља дебљину линије којом цртамо правоугаоник. Ако се дебљина изостави или ако се наведе нула, тада се правоугаоник цео испуњава бојом.

Приметимо да се за квадрат заправо може рећи да је једна врста правоугаоника - оног који има исту ширину и висину.

Прво се црта црни правоугаоник чије се горње лево теме налази на координатама \((50, 50)\), чија је ширина 200 пиксела, а висина 100 пиксела (при чему је прва координата \(x\) која одређује удаљеност тог темена од леве ивице прозора, а друга је координата \(y\) која одређује удаљеност тог темена од горње ивице прозора). Затим се црта црвени правоугаоник чије се горње лево теме налази на координатама \((75, 75)\), чија је ширина 150, а висина 50 пиксела. Први позив функције pg.draw.rect садржи и четврти параметар - број 1, који представља дебљину оквира правоугаоника у пикселима. Када се овај параметар изостави (као у другом позиву), добија се правоугаоник попуњен бојом.

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

Кроз наредних неколико задатака увежбај цртање правоугаоника и квадрата.

Пет квадрата у пет боја

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

Пошто су сви квадрати димензије 50 пута 50 пиксела, правимо прозор чија је димензија 250 пута 50 пиксела. Координата сваког горњег левог темена квадрата је 0 (пошто се та темена налазе на горњој ивици прозора). Координата \(x\) сваког наредног темена је 50 пиксела већа од претходне. Дакле, горња лева темена тих пет квадрата редом имају координате \((0, 0)\), \((50, 0)\), \((100, 0)\), \((150, 0)\) и \((200, 0)\). Упиши ове координате и димензије правоугаоника на одговарајућа места у програму, а затим покрени програм и провери да ли је твоје решење исправно.

Решење:

Глава робота

Нацртај наранџасту главу робота квадратног облика, која има црне очи и уста квадратног облика. Док помераш миша по покренутом примеру, координате можеш да очитаваш у наслову прозора (координате свих темена на нашој слици су дељиве са 10).

Решење:

Погледај овај видео и провежбај цртање правоугаоника на свом рачунару.

Такође, овај видео ће ти помоћи да видиш шта да радиш у ситуацији када ти Пајтон пријави неку грешку приликом извршавања програма.

Најважније из ове лекције:

  • Функција за цртање правоугаоника, pg.draw.rect узима као аргументе прозор на коме се црта, боју и уређену четворку бројева координата горњег левог темена правоугаоника, ширине и висине.

  • Позив функције за цртање правоугаоника у општем облику изгледа овако: pg.draw.rect(prozor, boja, (gornje_levo_teme_x, gornje_levo_teme_y, sirina, visina), debljina).

  • Дебљина линије је последњи аргумент функција за цртање, који може бити изостављен.

Тема

Prijavi problem


Obeleži sve kategorije 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.