这篇文章介绍2D跑酷游戏中,添加地板资源, 给主角附加重力作用,以及添加游戏控制器和游戏场景的切换。
废话不多说,直接开始。
添加地板资源
定义地板类,继承自pygame.sprite.Sprite 代码如下
import pygame
class Floor(pygame.sprite.Sprite):
def __init__(self, image, position, width=3, **kwargs):
pygame.sprite.Sprite.__init__(self)
self.image = image
self.rect = self.image.get_rect()
self.mask = pygame.mask.from_surface(self.image)
self.rect.left, self.rect.top = position
self.rect.width = self.rect.width * width
self.move_speed = 5
self.width = width
def update(self):
self.rect.left -= self.move_speed
if self.rect.right < 0:
return True
return False
def draw(self, screen):
for i in range(self.width):
screen.blit(self.image,
(self.rect.left + self.image.get_width() * i,
self.rect.top, self.rect.width, self.rect