Guest User

Untitled

a guest
Feb 21st, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.75 KB | None | 0 0
  1. # Import av alla bilderna
  2. bgImg = "images/bg.jpg"
  3. groundImg = "images/ground.jpg"
  4. ballImg = "images/ball.png"
  5. testlampaImg = "images/testlampa.jpg"
  6.  
  7. # Import av moduler
  8. import pygame, sys
  9. from pygame import *
  10.  
  11. # Initierar pygame
  12. pygame.init()
  13.  
  14. # Sätter variabla skärmstorleken
  15. SCREEN_W, SCREEN_H = 1000, 600
  16.  
  17. # Skapar spelets klocka
  18. clock = pygame.time.Clock()
  19.  
  20. # Bygger rutan
  21. screen = pygame.display.set_mode((SCREEN_W,SCREEN_H), 0, 32)
  22.  
  23. # Laddar in bilderna
  24. backgroundBild = pygame.image.load(bgImg).convert()
  25. groundBild = pygame.image.load(groundImg).convert_alpha()
  26. ballBild = pygame.image.load(ballImg).convert_alpha()
  27. testlampaBild = pygame.image.load(testlampaImg).convert()
  28.  
  29. # Gravitationskonstanten
  30. gravity = 20
  31.  
  32. # Skapar global FPS Variabel
  33.  
  34. fps = 60
  35.  
  36. #TEST collision
  37. collision = None
  38.  
  39. # Bollklassen
  40. class ballClass(pygame.sprite.Sprite):
  41.  
  42.     x, y = 450, 0  
  43.     def __init__(self,img):
  44.         pygame.sprite.Sprite.__init__(self)
  45.         self.width, self.height = img.get_size()
  46.         self.image = pygame.image.load(ballImg).convert_alpha()
  47.         self.isOnGround = False
  48.         self.speed = 0
  49.         self.rect = pygame.rect.Rect(self.x, self.y, self.width, self.height)
  50.         self.mask = pygame.mask.from_surface(self.image)
  51.         self.upForce = 0
  52.  
  53.     def get_pos(self):
  54.         return (self.x, self.y)
  55.  
  56.     def calculate_fallSpeed(self):
  57.         if self.speed > 100:
  58.             pass
  59.         else:
  60.             self.speed = (self.speed + (gravity))/fps
  61.  
  62.     def fall(self):
  63.         self.y = self.y + self.speed
  64.        
  65.     def stop(self):
  66.         self.speed = 0
  67.  
  68.     def jump(self):
  69.         if self.isOnGround == True:
  70.             pass
  71.            
  72. # Markklassen
  73. class markClass(pygame.sprite.Sprite):
  74.  
  75.     x, y = 0, 464  
  76.     def __init__(self,img):
  77.         pygame.sprite.Sprite.__init__(self)
  78.         self.width, self.height = img.get_size()
  79.         self.image = pygame.image.load(groundImg).convert_alpha()
  80.         self.isOnGround = False
  81.         self.speed = 0
  82.         self.rect = pygame.rect.Rect(self.x, self.y, self.width, self.height)
  83.         self.mask = pygame.mask.from_surface(self.image)
  84.  
  85.     def get_pos(self):
  86.         return (self.x, self.y)
  87.  
  88. # Skapar objekt av klassen ballClass och markClass
  89. ball = ballClass(ballBild)
  90. ground = markClass(groundBild)
  91.  
  92. # Kör huvudprogrammet
  93. while True:
  94.         clock.tick(fps)
  95.         for event in pygame.event.get():
  96.                 if event.type == QUIT:
  97.                     pygame.quit()
  98.                     sys.exit()
  99.                 if event.type == KEYDOWN:
  100.                         if event.key == K_ESCAPE:
  101.                             pygame.quit()
  102.                             sys.exit()
  103.  
  104.                         if event.key == K_SPACE:
  105.                             ball.jump()
  106.                
  107.  
  108.         # Beräkna klockor och grejer
  109.         milli = clock.tick()
  110.         seconds = milli/1000.0
  111.        
  112.         # Köra gravitationsgrejer och flyttar bollen
  113.         if ball.isOnGround == True:
  114.             pass
  115.         else:
  116.             ball.calculate_fallSpeed()
  117.             ball.fall()              
  118.  
  119.  
  120.         # Kollar efter kollision
  121.         if collision != None:
  122.             ball.isOnGround = True
  123.             ball.stop()
  124.  
  125.         # Beräknar kollision
  126.         collision = pygame.sprite.collide_mask(ball, ground)
  127.         ball.rect = pygame.rect.Rect(ball.x, ball.y, ball.width, ball.height)
  128.         ground.rect = pygame.rect.Rect(ground.x, ground.y, ground.width, ground.height)
  129.  
  130.         # Blittar ut allt
  131.         screen.blit(backgroundBild, (0,0))
  132.         screen.blit(ground.image, (ground.get_pos()))
  133.         screen.blit(ball.image, (ball.get_pos()))
  134.        
  135.         # Update that shit
  136.         pygame.display.update()
Add Comment
Please, Sign In to add comment