外星人入侵项目
最近初步浏览了《python:从入门到实践》这本书,决定尝试一下
准备阶段中
初始化:
pygame.init()
关闭窗口
pygame.display.quit()
设置窗口大小
screen = pygame.display.set_mode((1200, 800))
#一个二元组,1200和800分别是横向和纵向长度
设置窗口名称
pygame.display.set_caption('alien ')
改变窗口颜色
screen.fill((R,G,B))
#参数为一个三元组,用RGB颜色模式表示
如果想让窗口显示图片
background=pygame.image.load('E:\information\A\s.jpg')
#先加载图片并存再background中
screen.blit(background,(0,0))
#将图片放置再窗口中(0,0)的位置上,尽量使图片和窗口的大小一致
pygame.display.update()
#更新窗口以显示图片
开始:
首先得对整个游戏过程有一个理解,大概可视为这样:
#进行初始化
#创建一个游戏窗口
#进入游戏循环
#获取玩家输入事件
#对输入事件进行反应
#对一些基本事件进行更新
#判断游戏是否结束
#绘制屏幕
所对应的代码就是这样
import pygame
import sys #负责控制整个游戏的结束
run_game():
pygame.init() #初始化
screen = pygame.display.set_mode(480,700) #长高可视自己屏幕大小而定
#一些准备工作
while True:
for event in pygame.event.get(): #对每个获取的事件进行处理
#判断事件
#处理事件
update() #跟新基本事件
judgment() #判断游戏的进行程度,并进行处理
update() #更新屏幕
一些准备工作:
整个游戏的基本内容有:1.玩家控制的飞船
2.外星人的飞船
3.玩家发射的子弹
游戏过程就由围绕这三者之间的事件来产生
于是分别设计三个类来表示他们,不过为了更好的调用游戏里的一些基本内容
先写一个setting类来存储基本的游戏信息:
代码如下
class Settings:
def __init__(self):
self.screen_width=480
self.screen_height=700
#初始化窗口大小
self.background=pygame.image.load('alien/background.png')
#加载并存储窗口背景
self.ship_speed=1
#飞船移动速度
self.bullet_speed=1.5
#子弹移动速度
#后续会再做添加
注:将飞船和子弹的移动速度放在这里,为了是方便以后做出修改
待续。。。