Fixed BG sprite glitch. Minor fixes

This commit is contained in:
2021-04-05 21:19:19 +03:00
parent 0ba497db97
commit 6cdb2c61db
10 changed files with 99 additions and 24 deletions
+5 -20
View File
@@ -9,6 +9,7 @@ import os
from collections import deque
from Background import Background
from Player import Player
from StandingEnemy import StandingEnemy
from FlyingEnemy import FlyingEnemy
@@ -17,13 +18,6 @@ from Floor import Floor
class Drakora():
imgDir = os.path.join(os.path.dirname(__file__), 'data')
backgroundImage = pygame.image.load(os.path.join(imgDir, 'background.png'))#.convert()
backgroundImages = (
pygame.transform.scale(backgroundImage.subsurface((0, 0, 800, 150)), (3200, 600)),
pygame.transform.scale(backgroundImage.subsurface((0, 150, 800, 150)), (3200, 600)),
)
def getGameSpeed(self):
return self.__gameSpeed
@@ -65,6 +59,8 @@ class Drakora():
def newGame(self):
self.background = Background(self)
for enemy in self.enemies:
enemy.kill()
@@ -94,14 +90,12 @@ class Drakora():
self.speedUpCheatLabelCD = 0
self.speedDownCheatLabelCD = 0
self.speedResetCheatLabelCD = 0
self.backgroundgOffset = [0, self.fourScreenWidths]
def __init__(self):
random.seed()
pygame.init()
self.screenSize = (800, 600)
self.fourScreenWidths = self.screenSize[0]*4
self.screen = pygame.display.set_mode(self.screenSize)
pygame.display.set_caption('Drakora')
self.clock = pygame.time.Clock()
@@ -163,9 +157,7 @@ class Drakora():
def render(self):
# self.screen.fill((102, 153, 255))
self.screen.blit(self.backgroundImages[0], (0-self.backgroundgOffset[0], 0, self.fourScreenWidths-self.backgroundgOffset[0], 600))
self.screen.blit(self.backgroundImages[1], (0-self.backgroundgOffset[1], 0, self.fourScreenWidths-self.backgroundgOffset[1], 600))
self.background.draw(self.screen)
for cloudGroup in self.cloudGroups: cloudGroup.draw(self.screen)
self.enemies.draw(self.screen)
self.players.draw(self.screen)
@@ -299,14 +291,7 @@ class Drakora():
self.doCheats()
if not self.isGameOver and not self.isPaused:
self.backgroundgOffset[0] += self.__gameSpeed
self.backgroundgOffset[1] += self.__gameSpeed
if self.backgroundgOffset[0] > self.fourScreenWidths*2:
self.backgroundgOffset[0] -= self.fourScreenWidths*2
if self.backgroundgOffset[1] > self.fourScreenWidths*2:
self.backgroundgOffset[1] -= self.fourScreenWidths*2
self.background.update()
for cloudGroup in self.cloudGroups: cloudGroup.update()
self.enemies.update()
self.players.update()