Verfasst: Montag 19. Mai 2008, 19:59
Gibt es das ganze auch als zusammenhängenden Qwellcode
um den überblick nicht zuverlieren was wo drinsteht
um den überblick nicht zuverlieren was wo drinsteht
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Code: Alles auswählen
daniel@media-desktop ~/Desktop/python/pywine $ python pygame_test.py
Traceback (most recent call last):
File "pygame_test.py", line 46, in <module>
main()
File "pygame_test.py", line 27, in main
screen((0, 0, 0))
TypeError: 'pygame.Surface' object is not callable
Code: Alles auswählen
pygame.init()
try:
os.environ['SDL_VIDEO_CENTERED'] = '1'
except:
pass
pygame.display.set_icon(pygame.image.load(os.path.join('data', 'FHZITTICON.gif')))
pygame.display.set_caption('FH-Zitt-Ballergame by Magic LTS')
pygame.mouse.set_visible(0)
screen = pygame.display.set_mode(SCREENRECT.size)
background = pygame.Surface(screen.get_size())
background.fill((0,0,0))
boom = pygame.Surface((640,480))
boom.fill((255,255,255))
Code: Alles auswählen
#!/usr/bin/env python
import pygame
import os
pygame.init()
try:
os.environ['SDL_VIDEO_CENTERED'] = '1'
except:
pass
pygame.display.set_icon(pygame.image.load(os.path.join('/home/daniel', 'test.jpg')))
pygame.display.set_caption('FH-Zitt-Ballergame by Magic LTS')
pygame.mouse.set_visible(0)
screen = pygame.display.set_mode((640,480))
background = pygame.Surface(screen.get_size())
background.fill((0,0,0))
boom = pygame.Surface((640,480))
boom.fill((255,255,255))
Code: Alles auswählen
import sys, os
import pygame
from pygame.locals import *
def main():
pygame.init()
try:
os.environ['SDL_VIDEO_CENTERED'] = '1'
except:
pass
#pygame.display.set_icon(pygame.image.load(os.path.join('data', 'ICON.gif')))
pygame.display.set_caption('Game Sequenc Start')
pygame.mouse.set_visible(0)
screen = pygame.display.set_mode((640,480))
background = pygame.Surface(screen.get_size())
background.fill((0,0,0))
boom = pygame.Surface((640,480))
boom.fill((255,255,255))
while 1:
event = pygame.event.poll()
if event.type == QUIT or \
(event.type == KEYDOWN and event.key == K_q):
break
screen.blit(background, (0,0))
pygame.display.flip()
pygame.display.quit()
if __name__ == '__main__': main()
Code: Alles auswählen
if _image.get_alpha() == None:
_image = image.convert()
else:
_image = image.convert_alpha()Code: Alles auswählen
if _image.get_alpha() == None:
_image = _image.convert()
else:
_image = _image.convert_alpha()
Aua, None immer mit "is" vergleichen.tuxfreak hat geschrieben:Hier hat sich glaube ich auch ein Fehler eingeschlichen:
sollte so aussehen:Code: Alles auswählen
if _image.get_alpha() == None: _image = image.convert() else: _image = image.convert_alpha()
der unterschied sind die "_" vor image.convert()Code: Alles auswählen
if _image.get_alpha() == None: _image = _image.convert() else: _image = _image.convert_alpha()
Um dem Kontext zu geben: None ist ein Singleton, d.h. es existiert immer nur eine einzige Instanz davon, daher kann man hier auf Objektidentität testen.name hat geschrieben:Aua, None immer mit "is" vergleichen.
Natuerlich.BlackJack hat geschrieben:Wobei ``==`` bei `None` IMHO nicht so schlimm ist wie ``is`` bei kleinen Zahlen oder Wahrheitswerten.
Code: Alles auswählen
def load_image(file):
file = os.path.join('data', 'images', file)
try:
surface = pygame.image.load(file)
except pygame.error:
raise SystemExit, '"%s" %s not found'%(file, pygame.get_error())
return surface.convert_alpha()
def load_images(*files):
imgs = []
for file in files:
imgs.append(load_image(file))
return imgs
def load_image_alpha(file, colorkey=None):
file = os.path.join('data', 'images', file)
try:
surface = pygame.image.load(file)
except pygame.error:
raise SystemExit, '"%s" %s not found'%(file, pygame.get_error())
if colorkey is not None:
if colorkey is -1:
colorkey = surface.get_at((0,0))
surface.set_colorkey(colorkey, RLEACCEL)
return surface.convert_alpha()
Code: Alles auswählen
import pygame
import random
breite=800
hoehe=800
screen = pygame.display.set_mode((breite,hoehe))
clock = pygame.time.Clock()
boden1=pygame.image.load("Boden1.png")
Hintergrund=pygame.image.load("Hintergrund.png")
Hintergrund2=pygame.image.load("hintergrund2.png")
Mariorechts=pygame.image.load("mario.gif")
Mariolinks=pygame.image.load("mario2links.png")
Mario=Mariorechts
MarioX=100
MarioY=602
Hintergrundx=0
Bodenx=0
JumpNichtmoeglich=True
Jump=False
Bewegung=False
rechts=False
links=False
running=True
JumpAktiv=False
Fallen=False
while running:
hintergrund=screen.blit(Hintergrund,(Hintergrundx,0))
hintergrund2=screen.blit(Hintergrund2,(900,0))
boden=screen.blit(boden1,(Bodenx,hoehe-100))
mario=screen.blit(Mario,(MarioX,MarioY))
pygame.display.flip()
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key==pygame.K_RIGHT:
if JumpAktiv == False:
Bewegung=True
rechts=True
elif event.key==pygame.K_LEFT:
if JumpAktiv == False:
Bewegung=True
links=True
elif event.key==pygame.K_SPACE:
if MarioY==602:
Jump=True
JumpAktiv=True
elif event.type == pygame.KEYUP:
if event.key==pygame.K_RIGHT:
Bewegung=False
rechts=False
elif event.key==pygame.K_LEFT:
Bewegung=False
rechts=False
if Jump:
MarioY-=20
if MarioY < 300:
Jump=False
if Bewegung:
if rechts:
MarioX+=20
Mario=Mariorechts
elif links:
if MarioX != 0:
MarioX+=-20
Mario=Mariolinks
if MarioY < 300: #Fallen
Fallen=True
else:
JumpAktiv=False
if Fallen:
MarioY+=20
if MarioY>600:
Fallen=False
Code: Alles auswählen
def loadImage(filename, colorkey = None):
image = pygame.image.load(filename)
if image.get_alpha() == None:
image = image.convert()
else:
image = image.convert_alpha()
if colorkey is not None:
if colorkey is -1:
colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
return image
class Tileset(object):
def __init__(self, image ,colorkey ,tileWidth, tileHeight):
self.__image = loadImage(image,colorkey)
self.__tileWidth = tileWidth
self.__tileHeight = tileHeight
self.__tileTypes = dict()
def getImage(self):
return self.__image
def setImage(self, image, colorkey):
self.__image = loadImage(image,colorkey )
def getTileWidth(self):
return self.__tileWidth
def getTileHeight(self):
return self.__tileHeight
def getTileSize(self):
return (self.__tileWidth, self.__tileHeight)
def addTile(self, Mario, tileWidth,tileHeight ):
self.__tileTypes[Mario] = TileType(Mario, 0, 0, self.__tileWidth, self.__tileHeight)
def getTile(self, Mario):
try:
return self.__tileTypes[Mario]
except KeyError:
return None