Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Administrator
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
import pygame # importiere PyGame import random # importiere Zufallsgenerator import os # importiere Datenverwaltung #Globale Variablen festlegen höhe = 255 breite = 400 x = breite / 2 #Startkoordinaten X-Achse y = höhe / 2 #Startkoordinaten Y-Achse FPS = 60 #Framerate variable running = True #abschaltvariable blau = (0,0,255) # Farbe Blau schwarz = (0,0,0) #Farbe Schwarz # set up assets game_folder = os.path.dirname(__file__) # verpacke den Programmordner Pfad in Variable game_folder img_folder = os.path.join(game_folder, "img") # verpacke den Bilderordner Pfad in Variable img_folder (achte darauf, dass der Ordner existiert) class Avatar(pygame.sprite.Sprite): # Erschaffe Spriteklasse namens Avatar def __init__(self): # fülle die Klasse Avatar mit folgenden Daten pygame.sprite.Sprite.__init__(self) # initialisierung des Sprites (super wichtig!) self.image = pygame.image.load(os.path.join(img_folder, "Rahl_rechts.png")).convert() # lade Spriteimage aus Bilderordner self.image.set_colorkey(schwarz) # weise colorkey eine Farbe zu (diese Farbe wird daraufhin transparent wiedergegeben) self.rect = self.image.get_rect() # Erschaffe Quadrat um den Avatar so groß wie Avatar self.rect.center = (x, y) # setze die Startkoordinaten self.y_speed = 2 # def update(self): self.rect.x += 2 # Bewegungsgeschwindigkeit auf der X-Achse self.rect.y += self.y_speed # Bewegungsgeschwindigkeit auf der Y-Achse if self.rect.bottom > höhe - 20: self.y_speed = - 2 if self.rect.top < 20: self.y_speed = 2 if self.rect.left > breite: self.rect.right = 0 #Modulinitialisierung und Bildschirmgröße pygame.init() #initialisiere pygame pygame.mixer.init() #initialisiere Soundmodul screen = pygame.display.set_mode((breite, höhe),pygame.FULLSCREEN) #Screen größe pygame.display.set_caption("Prototyp") # Fenster benennen clock = pygame.time.Clock() # Frameratemodul all_sprites = pygame.sprite.Group() # Erstelle Spritegruppe namens all_sprites avatar = Avatar() # Erschaffe variable welche die Klasse Avatar beinhaltet all_sprites.add(avatar) # speicher avatar in all_sprites Gruppe #Programmschleife while running: clock.tick(FPS) #Framerate festlegen for event in pygame.event.get(): # Überwachung ob das Programm beendet wurde if event.type == pygame.QUIT: running = False pressedKeys = pygame.key.get_pressed() if pressedKeys[pygame.K_ESCAPE]: running = False all_sprites.update() # Frage alle aktuellen Spritzustände ab # Den Bildschirm vor jedem Update mit hintergrundfarbe füllen screen.fill(blau) all_sprites.draw(screen) # Übertrage akuelle sprites auf screen #Screen wird nur mit neuen Daten beschrieben, unverändertes bleibt unverändert (dubblebuffering) #Dubblebuffering MUSS immer am Ende stehen! pygame.display.flip() #Das Programm wird beendet pygame.quit() |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Maltrix« (21.02.2018, 19:42)
Administrator
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
>>> #give me the best depth with a 640 x 480 windowed display >>> pygame.display.set_mode((640, 480)) >>> #give me the biggest 16-bit display available >>> modes = pygame.display.list_modes(16) >>> if not modes: ... print '16-bit not supported' ... else: ... print 'Found Resolution:', modes[0] ... pygame.display.set_mode(modes[0], pygame.FULLSCREEN, 16) >>> #need an 8-bit surface, nothing else will do >>> if pygame.display.mode_ok((800, 600), 0, 8) != 8: ... print 'Can only work with an 8-bit display, sorry' ... else: ... pygame.display.set_mode((800, 600), 0, 8) |
Administrator
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Maltrix« (22.02.2018, 11:08)
Werbeanzeige