第一需要安装pygame这个库:
image.pngpygame这个是第三方得游戏库,可以做图形,游戏等
image.png
1.1首先我们开启外星人入侵项目第一步创建游戏得窗体
import pygame #导入第三方得pygame游戏库
import sys #导入系统库
"""
1、外星人入侵游戏
1.1 我们这次不使用函数,后续逐步优化升级,我们只是使用python基础得语法
"""
pygame.init() #这个是进行游戏初始化,就是创建一个屏幕
screen = pygame.display.set_mode((1200,800)) #设置游戏屏幕得大小,宽和高,注意这个是元组(1200,800)
pygame.display.set_caption("外星人入侵") #这个是设置屏幕得名称(左上角游戏名称)
#首先游戏是不断进行得,需要使用无限循环,使用while
while True:
for event in pygame.event.get(): #不断循环获取坐标位置
print(event) #这个可以看到屏幕是不断进行刷新
if event.type == pygame.QUIT: #判断这个是否点击x进行退出
sys.exit() #系统退出指令
pygame.display.flip() #最近绘制屏幕可见
image.png
1.2 设置背景色
image.png在Pygame中,颜色是以RGB值指定的。这种颜色由红色、绿色和蓝色值组成,其中每个值的可能取值范围都为0~255。颜色值(255, 0, 0)表示红色,(0, 255, 0)表示绿色,而(0, 0, 255)表示蓝色。通过组合不同的RGB值,可创建1600万种颜色。在颜色值(230, 230, 230)中,红色、蓝色和绿色量相同,它将背景设置为一种浅灰色
1.3设置 创建Ship类
注意 在Pygame中,原点(0, 0)位于屏幕左上角,向右下方移动时,坐标值将增大。在1200×800的屏幕上,原点位于左上角,而右下角的坐标为(1200, 800)。
image.png
import pygame #导入第三方得pygame游戏库
import sys #导入系统库
"""
1、外星人入侵游戏
1.1 我们这次不使用函数,后续逐步优化升级,我们只是使用python基础得语法
"""
pygame.init() #这个是进行游戏初始化,就是创建一个屏幕
screen = pygame.display.set_mode((1200,800)) #设置游戏屏幕得大小,宽和高,注意这个是元组(1200,800)
pygame.display.set_caption("外星人入侵") #这个是设置屏幕得名称(左上角游戏名称)
#首先游戏是不断进行得,需要使用无限循环,使用while
bg_color = (230,230,230) #三原色设置背景颜色
#创建ship船舰
class Ship:
def __init__(self,screen): #这个是构造函数,初始化使用,后续函数会详细讲解
"""
可设置相应rect对象的属性center、centerx或centery。要让游戏元素与屏幕边缘对齐,
可使用属性top、bottom、left或right;要调整游戏元素的水平或垂直位置,
可使用属性x和y,它们分别是相应矩形左上角的x和y坐标。
"""
self.screen = screen #这个是初始化飞船平设置其初始化位置
# self.image = pygame.image.load("../images/ship.bmp") #设置飞船得路径,一般在代码文件目录新建一个images
self.image = pygame.image.load("../images/ship.bmp")
self.rect = self.image.get_rect() #获取图像得大小
print("self.rect",self.rect)
self.screen_rect = screen.get_rect()
#将每艘新飞船放在屏幕底部中央
self.rect.centerx = self.screen_rect.centerx#
self.rect.bottom = self.screen_rect.bottom #
def blitme(self):
print(self)
self.screen.blit(self.image,self.rect) #在指定位置绘制飞船
#绘制飞机
ship = Ship(screen)
while True:
for event in pygame.event.get(): #不断循环获取坐标位置
# print(event) #这个可以看到屏幕是不断进行刷新
if event.type == pygame.QUIT: #判断这个是否点击x进行退出
sys.exit() #系统退出指令
# ship.blitme() #
screen.fill(bg_color) #每次都进行屏幕得绘制
# screen.fill(ship)
# screen.blit(ship_bg,(100,100))
ship.blitme()
pygame.display.flip() #最近绘制屏幕可见
image.png
网友评论