Вражеский персонаж не отображается при включении на экран - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь вывести моего вражеского персонажа (танк) на экран.Я не получаю ошибок при запуске, но он не отображается в окне.Мотоцикл и фоновый режим, кажется, работают нормально, но бак не отображается

Я пытался переместить вызов drawEnemy в другой раздел, но это не помогло.Приведено в том же духе

#loading in images
bgImage = pygame.image.load('images/bgImage.jpg')
leftMoveImage = [pygame.image.load('images/bikeLeft.png'),pygame.image.load('images/bikeLeft.png')]
rightMoveImage = [pygame.image.load('images/bikeRight.png'),pygame.image.load('images/bikeRight.png')]

#class for main motorcycle character
class motorcycle():
    def __init__(self, x, y, width, height): #initialization function for class
        #class attributes
        self.jumping = False
        self.height = height
        self.width = width
        self.x = x
        self.y = y
        self.still = True
        self.velocity = 10
        self.jumpTime = 8
        self.leftMove = False
        self.rightMove = False
        self.moveCounter = 0


    def charDraw(self, window): #function to draw character on the screen
        if not (self.still):
            if self.leftMove == True:
                window.blit(leftMoveImage[self.moveCounter//35],(self.x,self.y)) #draw left image
                self.moveCounter += 1
            elif self.rightMove == True:
                window.blit(rightMoveImage[self.moveCounter//35],(self.x,self.y)) #draw right image
                self.moveCounter += 1
        else:
            if self.leftMove == True:
                    window.blit(leftMoveImage[0], (self.x,self.y))
            else:
                    window.blit(rightMoveImage[0], (self.x,self.y))

#class for enemies:
class badGuys():
    tankLeftImage = pygame.image.load('images/tankLeft.png')
    tankRightImage = pygame.image.load('images/tankRight.png')

    def __init__(self, x, y, width, height, stop):
        self.x = x
        self.y = y
        self. width = width
        self.height = height
        self.stop = stop
        self.moveCounter = 0
        self.speed = 4
        self.enemyPath = [self.x, self.stop]

    def drawEnemy(self, window):
        self.moveMe()
        if self.moveCounter + 1 >= 50:
            self.moveCounter = 0

        if self.speed > 0:
            window.blit(self.tankRightImage, (self.x, self.y)) #drawing tank to the right
            self.moveCounter = self.moveCounter + 1
        else:
            window.blit(self.tankLeftImage, (self.x, self.y)) #drawing tank to the left
            self.moveCounter = self.moveCounter + 1

    def moveMe(self):
        if self.speed > 0:
            if self.speed + self.x < self.enemyPath[1]: #allowing enemy to move to end
                self.x = self.x + self.speed
            else:
                self.speed = self.speed * -1 #changing directions
                self.moveCounter = 0
        else:
            if self.x - self.speed > self.enemyPath[0]: #checking enemy doesn't pass beginning coordinate
                self.x = self.x + self.speed
            else:
                self.speed = self.speed * -1 #changing directions again (negative * negative equals positive value)
                self.moveCounter = 0

#draw routine
def drawScreen():
    global currentScore #globalizing cuerrentScore variable
    #setting up scoreboard
    scoretext = font.render("Score = "+str(currentScore), 1, (0,0,0))
    window.blit(scoretext, (5, 10))

    window.blit(bgImage, (0,0)) #drawing the backround image
    bike.charDraw(window) #drawing bike
    tank.drawEnemy(window) #drawing tank

    #blitting score to screen
    window.blit(scoretext, (5, 10))
    pygame.display.update()

#initializing object of class 'motorcycle' named 'bike'
bike = motorcycle(0, 501, 171, 99)
#initializing object of class 'badGuys' named 'tank'
tank = badGuys(0, 651, 120, 42, 480) 


    drawScreen()

pygame.quit()    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...