码迷,mamicode.com
首页 > 编程语言 > 详细

[Python日记-5] Pygame简单应用-1

时间:2020-02-10 22:54:05      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:idt   load   img   事件   ==   学习过程   监视   pygame   程序   

  终于把枯燥的基础知识过了一遍了,准备按照书本的引导,结合pygame的库做一个alien_invasion小游戏。

  虽然很早就接触编程,但是却始终谈不上一个真正的程序员,不管是在专业储备还是发量上。我感觉学习过程就是从“Script kid”、到“Coder”、再到“Programmer”,最后可能才能成为“Engineer”。而我还没有成为“Coder”,还有很多路要走。

  慢慢接触这个群体,就像在照镜子一样,一点一点剔除身上的劣端,增加新的思维或者方式。如何成为一个优秀的Programmer?就从不用百度开始吧。

  技术图片

 


  今天弯路走的太多了,就简单铺陈一下代码得了,累了,毁灭吧,赶紧的。

1. alien_invasion.py

 1 import sys
 2 import pygame
 3 from settings import Settings
 4 from ship import Ship
 5 
 6 def run_game():
 7     # 初始化游戏并创建一个屏幕对象
 8     pygame.init()
 9     ai_settings = Settings()
10     screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
11     pygame.display.set_caption("Alien Invasion")
12     # 创建一艘飞船
13     ship = Ship(screen)
14     # 开始游戏的主循环
15     while True:
16         #监视键盘和鼠标事件(时间循环)
17         for event in pygame.event.get():
18             if event.type == pygame.QUIT:
19                 sys.exit()
20         #每次循环时都重绘屏幕
21         screen.fill(ai_settings.bg_color)
22         ship.blitme()
23         #让最近绘制的屏幕可见(屏幕更新循环)
24         pygame.display.flip()
25 run_game()

  把一些关键代码分到外部的文件中,很方便干净。

2. setting.py

1 class Settings():
2     """存储Alien Invasion的所有设置的类"""
3     def __init__(self):
4         """初始化游戏的设置"""
5         # 屏幕设置
6         self.screen_width = 1200
7         self.screen_height = 800
8         self.bg_color = (230, 230, 230)

  感觉pygame和我之前远古时期用过的一款图形库的操作蛮像的,EasyX,好像是这么拼,人生第一款图形库。

3. ship.py

 1 import pygame
 2 class Ship:
 3     def __init__(self, screen):
 4         """初始化飞船并设置其初始值"""
 5         self.screen = screen
 6         # 加载飞船图像并获取其外接矩形
 7         self.image = pygame.image.load(images/ship.bmp)
 8         self.rect = self.image.get_rect()
 9         self.screen_rect = screen.get_rect()
10         # 将每艘新飞船放在屏幕底部中央
11         self.rect.centerx = self.screen_rect.centerx
12         self.rect.bottom = self.screen_rect.bottom
13     def blitme(self):
14         """在指定位置绘制飞船"""
15         self.screen.blit(self.image, self.rect)

  明天还会继续,今日份完结,撒花??ヽ(°▽°)ノ?

[Python日记-5] Pygame简单应用-1

标签:idt   load   img   事件   ==   学习过程   监视   pygame   程序   

原文地址:https://www.cnblogs.com/vilogy/p/12292701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!