昨天我们已经把小球给画出来了,今天继续完成我们的小游戏星空我们先来把星星做出来,让它向左移动,这样虽然小球只有上下移动,但是却看似向右移动,提高游戏的颜值。和小球一样,我们也来定义一个星星类因为星星是随机分布在屏幕中的,所以我们要先导入random中的randint方法
和小球一样,我们也要导入星星的图片
然后定义星星类
将其显示到屏幕上
但是现在只有一颗星星随机显示在屏幕上,而且不会移动,所以我们要创建多颗星星并让它移动起来,定义一个添加星星的方法
然后实例化星星队列,并调用添加星星的方法
最后通过循环星星队列将30颗星星显示在屏幕上
大功告成,最后的效果如下
星空我们已经做好了,下面我们来完成棒和飞镖的制作。棒有了前面星星的制作方法,棒的制作只不过是照葫芦画瓢而已,现在我们先不优化代码,以后再把星星和棒相同的方法封装起来。先导入棒的图片
然后定义棒类
其中的ball_image_height,bar_image_height分别为球和棒的高度
添加棒的方法
然后实例化棒队列,并调用添加棒的方法
最后通过循环棒队列将20根棒的初始位置显示在距离屏幕最左边(width,5*width)上
最好是先显示星星,再显示棒,这样棒才不会在星星后面掠过。添加棒之后的效果
飞镖飞镖比棒复杂一点点,不过也是差不多的,我的思路是这样的,将下面棒的四种摆放位置依次显示,就形成了飞镖。
当然,这是一种很简陋的画法,读者可以自行修饰,形成更好看的飞镖开始制作飞镖先导入飞镖图片
定义飞镖类
其中rotatebar_image_height = rotatebar_image1.get_height()定义添加飞镖的方法
然后实例化飞镖队列,并调用添加飞镖的方法
最后将飞镖显示在屏幕上
最终效果
大功告成本节过后的完整代码
领取专属 10元无门槛券
私享最新 技术干货