本文主要是介绍pygame入门小游戏(外星人入侵(3)),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在完成窗口的绘制和背景颜色的设置后,接下来的任务就相对困难些了。 我在学习中也遇到不少问题,以后都会在文章中慢慢提到。
在接下来的游戏制作中,需要加载各种‘人物’,为了使主程序看起来简介、美观、易懂,我们创建一些类来存储这些设置。(同时,在此可以复习一下怎么创建类和类的使用)
下面举个简答的例子
#存储游戏所有设置的类
class Settings():#初始化游戏设置def __init__(self):#屏幕设置self.screen_width = 800self.screen_height = 600self.bg_color = (230, 230, 230)
为了访问settings(),我们需要对主程序做些小小的改动
修改后的主程序如下
import pygame
from sys import exit
#导入Settings()类from settings import Settingsdef run_game():#初始化屏幕,并创建一个屏幕对象pygame.init()my_setting = Settings()screen = pygame.display.set_mode((my_setting.screen_width, my_setting.screen_height))pygame.display.set_caption('外星人入侵')#开始游戏的主循环while True:#监视键盘和鼠标事件for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()exit()screen.fill(my_setting.bg_color)#让最近绘制的屏幕可见pygame.display.flip()run_game()
这样。如果需要修改游戏,只需要修改settings.py中的一些参数值就好。
接下来,我们再创建一个飞船的类,方便今后加载飞船
#首先导入pygame模块
import pygame
class Ship():#初始化飞船def __init__(self, screen):self.screen = screen#加载飞船图像self.image = pygame.image.load('images\ship.bmp')self.rect = self.image.get_rect()self.screen_rect = screen.get_rect()#把飞船放到屏幕底部中央self.rect.centerx = self.screen_rect.centerxself.rect.bottom = self.screen_rect.bottom#在指定位置画出飞船def blit_ship(self):self.screen.blit(self.image, self.rect)
其中,加载飞船图片我们调用了pygame.image.load()
get_rect()用来获取图片相应属性,处理rect 对象时,可使用矩形四角和中心的 x 和 y 坐标。可通过设置这些值来指定矩形的位置。要将游戏元素居中,可设置相应rect 对象的属性center 、centerx 或centery 。要让游戏元素与屏幕边缘对齐,可使用属性top 、bottom 、left 或right ;要调整游戏元素的水平或垂直位置,可使用属性x 和y ,它们分别是相应矩形左上角的 x 和 y 坐标。
在Pygame中,原点(0, 0)位于屏幕左上角,向右下方移动时,坐标值将增大。
此外,主程序中我们还需要导入Ship()
import pygame
from sys import exit
#导入Settings()类
from settings import Settings
from ship import Shipdef run_game():#初始化屏幕,并创建一个屏幕对象pygame.init()my_setting = Settings()screen = pygame.display.set_mode((my_setting.screen_width, my_setting.screen_height))pygame.display.set_caption('外星人入侵')#创建飞船ship = Ship(screen)#开始游戏的主循环while True:#监视键盘和鼠标事件for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()exit()screen.fill(my_setting.bg_color)ship.blit_ship()#让最近绘制的屏幕可见pygame.display.flip()run_game()
此时,运行主程序,会看到屏幕下面的飞船
如下
图片源文件可在此下载链接:http://pan.baidu.com/s/1pK76JgB 密码:201q
这篇关于pygame入门小游戏(外星人入侵(3))的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!