1.使用精灵
使用精灵的概概念在游戏开发当中的各种物品或者动作,英雄,子弹等所有这个动态变化,都统称为精灵。
2.精灵组
在pygame中有很多很多的精灵,比如说屏幕上有密密麻麻的很多颗子弹,然后有很多敌人都在不断地更新它们的位置,那么精灵肯定不止一个两个。
一堆一般我们都把它放在一个集合里,那么可以不使用列表这个变量。
因为pygame里面提供了一个现成的精灵组,
你可以把它看成是一个集合或者是一个列表。
那么精灵组对象所有中的对象,它可以对里边所有的精灵进行调用它自己更新的函数,然后它就自动更新它的位置,还会进行碰撞检测,冲突检测。
精灵组非常方便,比直接使用list会减少很多开发的工作量。
所以在游戏当中一般使用这个,就是把它们屏幕上在进行运行的
一些精灵,就是所谓的游戏对象给它都将保存到这个精灵组,也就是一个集合中。
首先就是准备这么一个精灵组,初始化一个空的精灵组,然后再游戏循环中调用update()方法,触发这个精灵组里边的每一个精灵对象的update方法,各自更新它自己的位置。
然后调用这个精灵组对象的draw()方法。
精灵组中的每一个精灵对象的draw方法都会被调用。
3.创建精灵
在游戏中创建精灵对象,首先定义成一个类。
定义一个player,比如太阳花,豌豆手,僵尸。
所有这些类都要继承这个pygame.sprite.sprite()的这个基类。
只有继承sprite它这个父类或者叫基本基类sprite继承,
才会有精灵组的效果。
定义精灵组它是一个小方块,填充绿色小方块,显示在这个屏幕上。
刚开始小方块是静止不动的,然后再给这个精灵对象在给它加一个方法,那么当游戏每次循环的时候都会调自动调用它的update方法。
它是update的方法就会自动更新它自己的位置。
比如说让它的X轴坐标加5,那它就会向右运动,
到最右边编辑之后就出去了。
那我们想让它怎样才能回来。
于是就采用一种办法。
import pygame
WIDTH = 360
HEIGHT = 480
GREEN = (0, 255, 0)
class Player(pygame.sprite.Sprite)<