python学习第六天

本文介绍了使用Python的pygame库创建一个打飞机游戏的过程。主要包括设置游戏屏幕大小、定义子弹、玩家飞机和敌机类,以及游戏循环帧率设置。在实现过程中,详细讲解了各个类的功能和方法,如飞机的移动、子弹的发射、敌机的生成等。此外,还提到了pygame安装和使用中可能遇到的问题及其解决办法。
摘要由CSDN通过智能技术生成

今天要做一个打飞机的游戏!就结业了!还挺有趣!
整体框架
游戏主体划分为三个主要的类:

子弹类class Bullet
玩家类class Player
敌机类class Enem

把这三个东西的图像呈现在屏幕上。判断和处理子弹撞击敌机和敌机撞击玩家这两种情况。

类及函数作用
pygame.sprite模块
“sprite”,中文翻译“精灵”,在游戏动画一般是指一个独立运动的画面元素,在pygame中,就可以是一个带有图像(Surface)和大小位置(Rect)的对象。 简单来说是一个会动图片。它的两个成员变量

self.image=要显示图片的Surface
self.rect = 显示Surface的区域

对于self.rect,常用的设置rect的方法:self.rect = self.image.get_rect()。然后设定self.rect.topleft=(0,0)来设定左上角的位置,从而设定这个精灵在屏幕上的显示位置。
子弹类
成员主要是子弹的图片对象和子弹刷出来的位置,当然,还有移动速度。一个方法就是移动,从发出位置直线往屏幕上方移动。
飞机类
图像对象以及矩形参数和刷出位置,当然还会有移动速度和子弹集合(用来保存飞机射出的子弹)。方法的话就是上下左右移动了,不过需要做好边界判断。这个直接看代码就能理解了。
敌机类
该类保存了两个图像对象,一个是正常情况下的敌机图像。一个是爆炸的敌机图像。以便在撞击时能把撞击效果显示出来。一个方法就是和子弹差不多的移动了,不过它是从屏幕上方往底下移动的而已。
让子弹飞
shoot_frequency变量的作用就是控制子弹发射的频率,它控制在running每循环15次发射一个子弹。
刷出敌机
enemy_frequency变量的作用同样是控制刷怪的频率。running每循环50次就刷一个怪出来,位置是randint函数随机生成的。

遇到的问题
首先是安装pygame要,经常报错,下载的对应版本也对,但就是不行。
后来用pip wheel pygame 在cmd下执行。这个是让python自动下载对应的pygame。然后在pycharm中interpret加入pygame就能运行相应代码
截图

在这里插入图片描述源码
#-- coding: utf-8 --
import pygame
from sys import exit
from pygame.locals import *
import random

设置游戏屏幕大小

SCREEN_WIDTH = 480
SCREEN_HEIGHT = 800

子弹类

class Bullet(pygame.sprite.Sprite):
def in

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值