5.1. Цртање облика - квадрати и правоугаоници¶
У библиотеци PyGame можемо једноставно цртати квадрате и
правоугаонике. За то користимо следећу функцију са параметрима наведеним у загради,
где је rect
скраћено од енглеске речи rectangle
што значи правоугаоник:
pg.draw.rect(prozor, boja, (x, y, a, b), debljina_linije)
Параметри функције су редом:
прозор на коме се црта;
боја;
уређена четворка бројева чија прва два броја представљају координате горњег левог темена правоугаоника, а друга два представљају редом његову ширину и висину;
дебљина линије којом се црта (ако се изостави, или се наведе нула, правоугаоник је попуњен бојом и нема назначену ивицу).
Дебљина линије - појашњење
Четврти (последњи наведен) аргумент је опциони (не мора се навести). Он представља дебљину линије којом цртамо правоугаоник. Ако се дебљина изостави или ако се наведе нула, тада се правоугаоник цео испуњава бојом.
Приметимо да се за квадрат заправо може рећи да је једна врста правоугаоника - оног који има исту ширину и висину.
Прво се црта црни правоугаоник чије се горње лево теме налази на
координатама \((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)
.Дебљина линије је последњи аргумент функција за цртање, који може бити изостављен.