pygame

Linux.fista
Siirry navigaatioon Siirry hakuun
Tulostettavaa versiota ei enää tueta ja siinä voi olla renderöintivirheitä. Päivitä selaimesi kirjanmerkit ja käytä selaimen tavallista tulostustoimintoa sen sijaan.


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

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

Käyttö esimerkki

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

Aiheesta muualla

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