pygame

Linux.fista
Versio hetkellä 17. maaliskuuta 2022 kello 22.48 – tehnyt Lahtis (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun


pygame

Tekijä(t) Pete Shinners
Kehittäjä(t) yhteisö
Ensijulkaisu ? / 2000
Vakaa versio 2.1.2  / 27. joulukuuta 2021
Ohjelmoitu C, Python
Käyttöliittymä SDL
Lisenssi LGPL
Kotisivu www.pygame.org
Lähdekoodi github.com/pygame/

pygame on avoimen lähdekoodin Python-ohjelmointikieleen tehty peliohjelmointimoduuli, jonka on luonut Pete Shinners vuonna 2000. Ohjelmiston kehityksestä on vastannut yhteisö vuoden 2004 jälkeen. Se sisältää SDL:n päälle toteutetut grafiikka- ja äänikirjastot. Sillä voi ohjelmoida esimerkiksi 2D- ja 3D-pelejä.

Muita yhtensopivia pygame moduuleita ovat mm. GooeyPy, Directicus, Livewires, PygLibs ja Phil's pyGame Utilities.

Asennus[muokkaa]

pygame löytyy useimpien jakeluiden paketinhallinnasta nimellä python-pygame. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Käyttö esimerkki[muokkaa]

Pythonin peliohjelmamoduulia voi opetella tallentamalla ohjelma tiedostoon, jonka tiedostopääte on .py Käynnistä esimerkiksi Gedit ja lisää seuraavat rivit seuraavasti.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Lisätään pygame ja sys moduulit
import pygame, sys 
from pygame.locals import *

# set up pygame
pygame.init()

windowSurface = pygame.display.set_mode((640, 400), 0, 32)
pygame.display.set_caption("Hei maailma!")

# asetetaan värit
WHITE = (255, 255, 255)
RED = (255, 0, 0)

# asetetaan kirjaisin
basicFont = pygame.font.SysFont(None, 48)

# asetetaan teksti
text = basicFont.render('Hei maailma! tulossa ollaan.', True, WHITE)

# haetaan tekstin mitat
textRect = text.get_rect()
textRect.centerx = windowSurface.get_rect().centerx
textRect.centery = windowSurface.get_rect().centery

# piirretään valkoinen tausta ruudulle
windowSurface.fill(WHITE)

# piirretään suorakulmio tekstin taustaksi
pygame.draw.rect(windowSurface, RED, (textRect.left - 20, textRect.top - 20, textRect.width + 40, textRect.height + 40))

# piirretään teksti suorakulmioon
windowSurface.blit(text, textRect)

# päivitetään ikkuna
pygame.display.update()

# ohjelman looppi
while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

Nimetään oheinen koodi heiMaailma.py ja käynnistetaan se seuraavasti komentoriviltä.

python heiMaailma.py

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]

v  k  m
Peliohjelmointiin liittyvät artikkelit
 Yleiset  Peliohjelmointi Linuxilla | Musiikki ja äänet | Kuvankäsittely | Mallinnus | Lokalisointi
 2D 
 Pelimoottorit  Solar2D | Defold | Fife | LÖVE
  -Karttamuokkaimet  Tiled | OGMO Editor
 3D 
 Avoimet  Banshee 3D | Castle Game Engine | DarkPlaces | Defold | Godot Engine | Grit engine | Irrlicht Engine | id Tech (Quake) | ioquake3 | jMonkeyEngine | Lightfeather 3D | The Mirror | OGRE | O3DE | Panda3D | Range Engine | Serious | UPBGE | QFusion
 Suljetut  Axis Game Factory | CryEngine | Source | Unity3D | Unreal Engine
 Keskeytyneet  Crystal Space
  kuvankäsittely tekstuurikartoitus mallinnus 
 Kuvankäsittely  Gimp
  -Pikseligrafiikka  Aseprite | Pixelator
 Mallinnus  Blender | UPBGE | Bforartists | MakeHuman | Neobarok | ngPlant | ArbaroDust3D
  -Tekstuurikartoitus  AwesomeBump | Material Maker | Ptex
  -Tekstuurien luonti  ArmorLab
  -Pintakuviomaalaus  ArmorPaint
 Maastogeneraattorit  TerraForge3D
 Ohjelmointikielet 
  -Käännettävät  C | C++
  -Tulkattavat  Java | Python | Lua
  Ohjelmointimoduulit  pygame
  -Kirjastot  Assimp | OpenGL | Vulkan | SDL