ich stell einfach mal den kompletten sourcecode rein
#!/usr/bin/envirement python
# -*- coding: utf8 -*-
import os, sys
import pygame
from pygame.locals import *
from helpers import *
if not pygame.font: print 'Warning, fonts disabled'
if not pygame.mixer: print 'Warning, sound disabled'
class orbitpy:
"""main class for init etc"""
def __init__(self, width=640, height=480):
pygame.init()
self.width = width
self.height = height
self.screen = pygame.display.set_mode((self.width,self.height))
def loadsprites(self):
self.planet = planet()
self.planet_sprites = pygame.sprite.RenderPlain((self.planet))
def mainloop(self):
self.loadsprites()
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == KEYDOWN:
if ((event.key == K_RIGHT)
or (event.key == K_LEFT)
or (event.key == K_UP)
or (event.key == K_DOWN)):
self.planet.move(event.key)
self.planet_sprites.draw(self.screen)
pygame.display.flip()
class planet(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image, self.rect = load_image('planet.png',-1)
self.x_dist, self.y_dist = 0.2, 0.2
def move(self, key):
xMove, yMove = 0, 0
if (key == K_RIGHT):
xMove = self.x_dist
elif (key == K_LEFT):
xMove = -self.x_dist
elif (key == K_UP):
yMove = -self.y_dist
elif (key == K_DOWN):
yMove = self.y_dist
self.rect.move_ip(xMove,yMove)
if __name__=="__main__":
mainwindow = orbitpy()
mainwindow.mainloop()
achja und noch das helpers modul ,welches ich von der pygame page übernommen hab
#!/usr/bin/envirement python
# -*- coding: utf8 -*-
import pygame, sys,os
from pygame.locals import *
if not pygame.font: print 'Warning, fonts disabled'
if not pygame.mixer: print 'Warning, sound disabled'
def load_image(name, colorkey=None):
fullname = os.path.join('data', name)
try:
image = pygame.image.load(fullname)
except pygame.error, message:
print 'Cannot load image:', name
raise SystemExit, message
image = image.convert()
if colorkey is not None:
if colorkey is -1:
colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
return image, image.get_rect()