Sivuston tarkoitus

Tarkoituksena on antaa eväitä aloittavalle peliohjelmoijalle suomenkielellä.

sunnuntai 15. kesäkuuta 2014

Pygame ohjelmointikirjaston käyttö

(Perustuu tähän tekstiin)

Avaa IDLE-ohjelmointiympäristö ja luo uusi lähdekooditeksti.






Kirjoita tai kopioi seuraava lähdekoodi, tallenna se tiedostoon (Ctrl + s) ja suorita painamalla F5:

import pygame, sys
from pygame.locals import *

pygame.init()
piirtoalueen_koko = (400, 300)
piirtoalue = pygame.display.set_mode(piirtoalueen_koko)
valkoinen = (255, 255, 255)
sininen = (  0,   0, 255)
piirtoalue.fill(valkoinen)
sijainti = (300, 50)
säde = 20

pygame.draw.circle(piirtoalue, sininen, sijainti, säde, 0)

while True: 
    for event in pygame.event.get():
         if event.type == QUIT:
              pygame.quit()
              sys.exit()
    pygame.display.update()
              


Tallenna lähdekoodi ja suorita ohjelma painamalla F5.


Jos kaikki meni oikein tulos on tällainen.

Pääluuppi 


 Käydään läpi lähdekoodia. Olennaisin kohta peliohjelmoinnin kannalta on ohjelman "pääluuppi".



Ohjelmaa suoritetaan kunnes ohjelma kohtaa lopetustapahtuman (quit event). Tässä tapauksessa lopetustapahtuman saa aikaiseksi ohjelman ikkunan sulkeminen jolloin ohjelman suoritus päättetään.

Pääluupin aloitus:

while True: 

Käydään läpi tapahtumat joita pygame "kuuntelee":
    for event in pygame.event.get():

Jos tapahtuma on lopetustapahtuma lopetetaan ohjelman suoritus pygame.quit() ja sys.exit() komennoilla:

         if event.type == QUIT:
              pygame.quit()
              sys.exit()

Muussa tapauksessa päivitetään ikkuna ja jatketaan pääluupissa uudelle kierrokselle:

    pygame.display.update()

Alustus

Käydään läpi aiemmat rivit lähdekoodissa. Otetaan pygame- ja sys-ohjelmointikirjastot käyttöön.
import pygame, sys

Jotta voidaan käyttää pygame-ohjelmointikirjastoa täytyy ennen sen käyttöä suorittaa seuraava komento:
pygame.init()

Piirto

Asetetaan piirtoalue, jonka kooksi asetetaan 400 pikseliä leveä ja 300 pikseliä korkea.

piirtoalueen_koko = (400, 300)
piirtoalue = pygame.display.set_mode(piirtoalueen_koko)

Asetetaan värit (arvoista lisää myöhemmin):

valkoinen = (255, 255, 255)
sininen = (0, 0, 255)

Täytetään (fill) ikkuna valkoisella värillä:

piirtoalue.fill(valkoinen)

Piirretään näyttöön sininen pallo pygame.draw.circle-funktiolla.

pygame.draw.circle(piirtoalue, sininen, sijainti, säde, 0)

Wikipedian määritelmän mukaan funktio on "itsenäinen ohjelman osa, joka suorittaa tietyn toiminnon ja jota voidaan kutsua eri puolilta pääohjelmaa tai muista aliohjelmista". Funktion parametreille asetetaan arvot ("argumenttejä") joiden mukaan funktio suoritetaan. circle-funktiolle annetaan seuraavassa järjestyksessä:
  • piirtoalue
  • väri
  • sijainti (300, 50) joka tarkoittaa 300 pikseliä piirtoalueen vasemmasta reunasta ja 50 pikseliä yläreunasta
  • ympyrän säde
  • ympyrän kaaren paksuus tai 0 jolloin ympyrä täytetään annetulla värillä

Näytön koko kuten se asetettiin kun luotiin piirtoalue ja pallon koordinaatit kuten ne asetettiin pygame.draw.circle-funtion kutsussa.

Ei kommentteja:

Lähetä kommentti