deimicno. Evo koda:
import pygame, os
from pygame.locals import*
def loadimage(name, transparent=0):
fullname = os.path.join('data', name)
image = pygame.image.load(fullname)
if transparent:
image.set_colorkey(image.get_at((0,0)))
return image.convert(), image.get_rect()
class Cat(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image, self.rect = loadimage('macka.png',1)
screen = pygame.display.get_surface()
area = screen.get_rect()
self.rect.bottomleft = 0,0
self.acceleration = 0
self.inair = 1 #inair = Cat in air? True or Flase
self.speed = 9
self.direction = 0
def update(self):
if self.inair:
self.acceleration +=1
self.rect.move_ip(self.direction*self.speed, self.acceleration)
collision = self.rect.collidelistall(florsrect)
if collision != []:
#Cheking collision with platforms
for fi in collision: #fi is flor index
if florsrect[fi].top < self.rect.bottom:
self.rect.bottom = florsrect[fi].top
self.inair = 0
self.accelearation = 0
else:
self.inair = 1
def jump(self):
if not self.inair:
self.acceleration =-15
self.inair = 1
class Flor(pygame.sprite.Sprite):
def __init__(self, pos):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((200,20))
self.image.fill((0,0,0))
self.rect = self.image.get_rect()
self.rect.topleft = pos
def main():
global florsrect
pygame.init()
screen = pygame.display.set_mode((640,480))
#Objects
clock = pygame.time.Clock()
c = Cat()
flors =[
Flor((0,400)),
Flor((100,330)),
Flor((0,240))
]
florsrect = []
for x in flors:
florsrect.append(x.rect)
#Background
background = pygame.Surface(screen.get_size()).convert()
background.fill((100,125,0))
screen.blit(background, (0,0))
pygame.display.flip()
#Sprites
allsprites= [c]
for x in flors:
allsprites.append(x)
#MAIN LOOP
while 1:
clock.tick(60)
#commands
for event in pygame.event.get():
if (event.type == KEYDOWN and event.key == K_ESCAPE):
pygame.quit()
return
keystate = pygame.key.get_pressed()
c.direction = keystate[K_RIGHT] - keystate[K_LEFT]
if keystate[K_UP]:c.jump()
#draw everything
screen.blit(background, (0,0))
for sprite in allsprites:
sprite.update()
screen.blit(sprite.image,sprite.rect)
pygame.display.flip()
main()
P.S. napravite folder 'data' i u njega stavite neku slicicu za igraca. Dobro bi doslo da ako neko zna neki bolji (optimizovaniji) nacin za ovo sto sam do sada uradio iznese ovde na forum.

Pomoc za pygame igru