我目前正在尝试使用pygame和MVC设计模式制作Mario型平台游戏。截至目前,我的进度是在屏幕上显示角色并使其左右移动。
我的目标是让此角色在按下空格键时能够跳转。可以肯定的是,已按下空格键,但是角色只是停在原地而不是跳跃。这是我目前拥有的角色的代码:
import pygame
class Player(pygame.sprite.Sprite):
def __init__(self, name, x, y, img_file):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(img_file).convert_alpha()
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
self.falling = True
self.onGround = False
self.v = 0
self.speed = 2
def moveLeft(self):
self.rect.x -= self.speed
def moveRight(self):
self.rect.x += self.speed
def jump(self):
if self.onGround == False:
return
self.velocity = 8
self.onGround = False
这是与此相对应的控制器部分:
if event.type == pygame.KEYDOWN:
if(event.key == pygame.K_SPACE):
self.player.jump()
谢谢