上QQ阅读APP看书,第一时间看更新
1.3.2 创建游戏角色
接下来创建游戏角色。角色的创建似乎没那么简单,因为角色是需要活动的,而之前在窗口中显示的小球根本无法活动,因此它还不能算作游戏角色,仅仅只是一幅图像而已。怎么办呢?好在Pgzero事先已经准备好了,它通过提供一个叫作Actor的类来帮助创建游戏角色。
说明:
按照面向对象编程的思想,类就是对象的模板,通过类可以创建具体的对象实例。例如要烘焙饼干,可以先购买一个饼干模具(例如可爱的小动物形状模具),然后将原料倒入模具中进行烘焙,最后做好的就是小动物形状的饼干了。在这个例子中,饼干模具就好比是“类”,而做好的饼干就好比是“对象”,一个模具可以制作若干个相同的饼干,而一个类则可以创建若干个相同的对象。
因此可以使用Pgzero提供的Actor类来创建需要的角色对象。例如要创建一个小球角色,可以这样编写代码:
上面这行代码调用Actor类的构造方法来生成小球角色对象,并将其保存在一个变量ball中,今后若要操作小球则只需访问ball变量即可。Actor类的构造方法有两个基本参数,第一个是角色的图片文件名,第二个是角色的初始位置。这和之前显示图像的参数是一样的。
小球角色创建好了,那么如何将它显示在窗口中呢?是不是还与之前的一样,需要调用screen的blit()方法呢?当然不需要了。现在的小球已经不再是一幅图像,而是一个真正的角色对象,它拥有很多的属性和方法。其中有一个叫作draw()的方法,可以用来将自身显示在窗口中。
将之前的代码改写成如下:
运行一下你会发现,程序的结果和图1.7所显示的效果是一模一样的。可是现在小球还是不会动呀!不要着急,我们已经做好了一切准备工作,现在是时候让它动起来了。