游戏开发最核心的就是碰撞检测了,子弹击中敌人、足球射进门、吃加血包这些都是通过碰撞检测完成的。我们这节课学习的sprite模块对pygame的碰撞做了初步封装,简化我们开发这些模块时的代码。
在pygame里,sprite通常是一个二维的图片。比如一辆汽车、一个狐狸、一条小狗等。下面我们就来详细学习一下sprite模块。
prite基础和碰撞检测
让我们来看一个使用sprite的例子,这个例子展示了一个红豆吃黑豆的游戏,屏幕上的红豆会跟着我们的鼠标移动,红豆碰到黑豆后会把黑豆吃掉。游戏效果如下图所示:
项目代码可以访问下面的链接:ProgramArcadeGames.com/python_examples/f.php?file=sprite_collect_blocks.py
下面我们就来详细分析一下这个代码。import pygame
import random
# Define some colors
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
首先,我们引入了pygame。并定义了黑、白、后三个颜色常量。class Block(pygame.sprite.Sprite):
“””
This class represents the ball.
It derives from the “Sp