Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Import av alla bilderna
- bgImg = "images/bg.jpg"
- groundImg = "images/ground.jpg"
- ballImg = "images/ball.png"
- testlampaImg = "images/testlampa.jpg"
- # Import av moduler
- import pygame, sys
- from pygame import *
- # Initierar pygame
- pygame.init()
- # Sätter variabla skärmstorleken
- SCREEN_W, SCREEN_H = 1000, 600
- # Skapar spelets klocka
- clock = pygame.time.Clock()
- # Bygger rutan
- screen = pygame.display.set_mode((SCREEN_W,SCREEN_H), 0, 32)
- # Laddar in bilderna
- backgroundBild = pygame.image.load(bgImg).convert()
- groundBild = pygame.image.load(groundImg).convert_alpha()
- ballBild = pygame.image.load(ballImg).convert_alpha()
- testlampaBild = pygame.image.load(testlampaImg).convert()
- # Gravitationskonstanten
- gravity = 5000
- #TEST collision
- collision = None
- # Bollklassen
- class ballClass(pygame.sprite.Sprite):
- x, y = 450, 0
- def __init__(self,img):
- pygame.sprite.Sprite.__init__(self)
- self.width, self.height = img.get_size()
- self.image = pygame.image.load(ballImg).convert_alpha()
- self.isOnGround = False
- self.speed = 0
- self.rect = pygame.rect.Rect(self.x, self.y, self.width, self.height)
- self.mask = pygame.mask.from_surface(self.image)
- self.upForce = 0
- def get_pos(self):
- return (self.x, self.y)
- def calculate_fallSpeed(self):
- if self.speed > 100:
- pass
- else:
- self.speed = self.speed + (seconds * gravity)
- def fall(self):
- self.y = self.y + self.speed
- def stop(self):
- self.speed = 0
- def jump(self):
- if self.isOnGround == True:
- pass
- # Markklassen
- class markClass(pygame.sprite.Sprite):
- x, y = 0, 464
- def __init__(self,img):
- pygame.sprite.Sprite.__init__(self)
- self.width, self.height = img.get_size()
- self.image = pygame.image.load(groundImg).convert_alpha()
- self.isOnGround = False
- self.speed = 0
- self.rect = pygame.rect.Rect(self.x, self.y, self.width, self.height)
- self.mask = pygame.mask.from_surface(self.image)
- def get_pos(self):
- return (self.x, self.y)
- # Skapar objekt av klassen ballClass och markClass
- ball = ballClass(ballBild)
- ground = markClass(groundBild)
- # Kör huvudprogrammet
- while True:
- clock.tick(60)
- for event in pygame.event.get():
- if event.type == QUIT:
- pygame.quit()
- sys.exit()
- if event.type == KEYDOWN:
- if event.key == K_ESCAPE:
- pygame.quit()
- sys.exit()
- if event.key == K_SPACE:
- ball.jump()
- # Beräkna klockor och grejer
- milli = clock.tick()
- seconds = milli/1000.0
- # Köra gravitationsgrejer och flyttar bollen
- if ball.isOnGround == True:
- pass
- else:
- ball.calculate_fallSpeed()
- ball.fall()
- # Kollar efter kollision
- if collision != None:
- ball.isOnGround = True
- ball.stop()
- # Beräknar kollision
- collision = pygame.sprite.collide_mask(ball, ground)
- ball.rect = pygame.rect.Rect(ball.x, ball.y, ball.width, ball.height)
- ground.rect = pygame.rect.Rect(ground.x, ground.y, ground.width, ground.height)
- # Blittar ut allt
- screen.blit(backgroundBild, (0,0))
- screen.blit(ground.image, (ground.get_pos()))
- screen.blit(ball.image, (ball.get_pos()))
- # Update that shit
- pygame.display.update()
Add Comment
Please, Sign In to add comment