目录
飞机大战-要实现的效果
控制玩具飞机-面向过程
控制玩具飞机-面向对象
玩家飞机发射子弹
显示敌机
敌机发射子弹
控制玩具飞机
显示敌机
敌机发送子弹
1.搭建界面和键盘检测
街机游戏相信很多人玩过,比如图中的恐龙快打、飞机游戏,但是之前我们一直玩别人做的游戏,不知道大家有没有想过,这种游戏是怎么做出来的,使用什么样语言做出来的,Python能做游戏开发吗?答案是肯定的,接下来我就带领大家来一起使用python开发一个飞机大战的游戏
import pygame
from pygame.locals import *
'''
1.搭建界面,主要完成窗口和背景图的显示
'''
def main():
#1.创建一个窗口,用来显示内容
screen=pygame.display.set_mode((350,500),0,32)
#2.加载一张和窗口大小一样的图片,用来充当背景
background=pygame.image.load("./feiji/background.png")
#3.把背景图片放到窗口中显示
#设置一个title
pygame.display.set_caption('阶段总结-飞机小游戏')
while True:
#设定需要显示的背景图
screen.blit(background,(0,0))
#更新需要显示的内容
pygame.display.update()
if __name__=='__main__':
main()
运行结果
键盘检测
#获取事件,比如按键等
for event in pygame.event.get():
#判断是否点击了退出按钮
if event.type==QUIT:
print('exit')
exit()
#判断是否按下了键
elif event.type == KEYDOWN:
# 检测按键是否是a或者left,左键
if event.key == K_a or event.key == K_LEFT:
print('left')
# 检测按键是否是d或者right 右键
elif event.key == K_d or event.key == K_RIGHT:
print('right')
# 检测按键是否是空格键
elif event.key == K_SPACE:
print('space')
输出结果
pygame介绍
Pygame是一个利用SDL库的写的游戏库,SDL呢,全名Simple DirectMedia Layer,是一位叫做Sam Lantinga的大牛写的
SDL是用C写的,不过它也可以使用C++进行开发,当然还有很多其它的语言,Pygame