Kaheksateist

Vaatasime eelmisel korral PyGame graafikamoodulit, mis võimaldab kiiresti reageerivaid ja ilusaid programme teha, näiteks mänge.

Selliste programmide põhituum (akna loomise protseduur ja vajalikud lisateegid) on selline:

#!/usr/bin/python
# -*- coding: utf-8 -*-
# PyGmTest.py
import pygame, sys
from pygame.locals import *
pygame.init()
ekraan=pygame.display.set_mode((800,600),0,32)
while True:
    for event in pygame.event.get():
       if event.type == QUIT:
          pygame.quit()
          sys.exit()
          #siia vahele käiks joonistamine või sündmused, mida 17. ringitunnis proovisime
    pygame.display.update()

The New Boston räägib joonistamisest nii:

Seega, tõlgitult ja veidi teiste parameetritega võiks joonistama panna näiteks nii (eelmisel koodil kommenteeritud kohta lisada):
ekraan.lock()
pygame.draw.rect(ekraan, (140, 140, 230), Rect((610, 10), (180, 580)))
ekraan.unlock()

Järgmises videos räägitakse kuidas joonistada hulknurki (polügon/polygon – tuleneb Kreeka keelest):

Sealne näide ei ole ehk kõige efektiivsem. Kui tahame joonistada palju hulknurki, siis selle asemel oleks asjalikum pigem teha eraldi funktsioon nende loomiseks. Püüame nüüd meie oma Galaktika programmi portida ümber PyGame graafikale.

Selleks haarame kaasa Galaktika moodulid ja lisame eraldi uue funktsiooni, mis annab ühele koordinaadile vastava tähe joonistamiseks sobiva hulknurga vastu.

Näiteks kõige lihtsam koordinaatide nimekirja (hulknurga tarbeks) koostaja:

def taheke(x, y):
return ((x-5, y), (x-1, y-1), (x, y-5), (x+1, y-1), (x+5, y), (x+1, y+1), (x, y+5), (x-1, y+1))

Märkus: PyGame ei toeta kuueteistkümnendsüsteemis ehk #FF9900 tüüpi RGB värvide kirja panekut. Selle asemel peab olema kümnendsüsteemis ja sulgudes: (255, 99, 0). Kuueteistkümnendsüsteemis suurim kahekohaline number oli FF ehk 255. Ka kümnendsüsteemis ei saa ühegi värvi väärtus olla sellest suurem ega nullist väiksem. Samuti mitte komakohtadega arv.

Viimaks vaatame paari näidet failis.

Rubriigid: Uncategorized. Salvesta püsiviide oma järjehoidjasse.

Lisa kommentaar