用pygame做一个生存类的游戏
import pygame
import random
# 屏幕的大小和背景色
SCREEN_RECT = pygame.Rect(0, 0, 480, 700) # 矩形对象,参数分别代表左上角X Y坐标,宽度和高度
BG_COLOR = (0, 0, 0) # RGB三原色:黑色背景
class GameSprite(pygame.sprite.Sprite): # 继承精灵类
def __init__(self, image_name, speed=1): # 初始化方法
super().__init__() # 调用父类的初始化方法
self.image = pygame.image.load(image_name) # 加载图片
self.rect = self.image.get_rect() # 获得图片的位置信息(矩形对象)
self.speed = speed # 速度参数
def update(self): # 更新位置信息方法
self.rect.y += self.speed # y坐标加上速度即可得到新的位置信息
class Background(GameSprite): # 背景图片的子类:从上向下运动的背景图片
def __init__(self, is_alt=False): # 是否使用交替图片来实例化对象。如不传入参数就是False(默认值)。True表明使用交替图片。
super().__init__('images/background1-1-2-3-4-5-6-7-8-9-.jpg') # 背景要显示在最下面所以y=0开始 # 第一张背景图片来实例化对象。super()函数表明使用GameSprite中的初始化方法来实例化Background这个子类。传入参数是要显式的背景图片名字。 if is_alt: # 如传入True代表使用交互背景来实例化对象 self .image = pygame . image . load('images/background2 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9-.jpg') else: pass self . rect . y = SCREEN _ RECT . height if not is _ alt : pass else: pass super ( ) . __ init _ _ ( ) def update ( ) : super ( ) . update ( ) if not SCREEN _ RECT . contain s (self . rect ): self . rect . y = 0 + SCREEN _ RECT
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!