newbieol 2018-02-05
Python语法简洁清晰、功能强大,被认为是人工智能时代的最好的编程语言。很多人都将Python和人工智能捆绑在一起
以为学习Python就只能从事人工智能开发,其实这是比较片面的。Python具有简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点,它的面向对象甚至比Java、C#和.net更彻底。更重要的是Python在软件质量控制、提升开发效率、可移植性、组件集成、丰富库支持等各个方面处于先进地位,因此学习Python能够从事Web应用开发、系统网络运维、科学与数字计算、3D游戏开发、图形界面开发、网络编程以及人工智能等工作。下面小编给大家介绍一下Python介绍一下Python在游戏开发发项目的案例。
1、创建pygame窗口以及响应用户输入
# -*- coding: utf-8 -*-
import sys
import pygame
def run_game():
#初始化游戏并创建一个屏幕对象
pygame.init()
screen=pygame.display.set_mode((1200,800))
pygame.display.set_caption("Alien Invasion")
#开始游戏主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
1)pygame.init()初始化背景设置,让pygame能正常工作。
2)调用pygame.display.set_mode()来创建一个名为screen的显示窗口,实参(1200,800)是一个元组,指定了游戏窗口的尺寸,创建一个宽1200像素、高800像素的游戏窗口。
3)对象screen时一个surface。在pygame中,surface是屏幕的一部分,用于显示游戏元素。在这个游戏中,每个元素都是一个surface。display.set_mode()返回的surface表示整个游戏窗口。我们激活游戏的动画循环后,每经过一次循环都自动重绘这个surface。
4)使用方法pygame.event.get()访问pygame检测到的事件。所有键盘和鼠标事件都将促使for循环执行。在这个循环中,编写一系列的if语句来检测并响应特定的事件。
例如,玩家单击游戏窗口的关闭按钮时,将检测到pygame.QUIT事件,调用sys.exit()来退出游戏。
5)方法pygame.display.filp()命令pygame让最近绘制的屏幕可见。
在这里,每次执行while循环时都绘制一个空屏幕,并擦去旧屏幕,使得只有新屏幕可见。在我们移动游戏元素时,pygame.display.filp()将不断不断更新屏幕,以显示元素的新位置,并在原来的位置隐藏元素,从而营造平滑移动的效果。
2、设置背景色
# -*- coding: utf-8 -*-
import sys
import pygame
def run_game():
#初始化游戏并创建一个屏幕对象
pygame.init()
screen=pygame.display.set_mode((1200,800))
pygame.display.set_caption("Alien Invasion")
#设置游戏背景色
bg_color=(230,230,230)
#开始游戏主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
#每次循环时都会重绘屏幕
screen.fill(bg_color)
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
1)颜色由红色、绿色和蓝色值组成,其中每个值得可能取值范围都为0~255.颜色值(255,0,0)表示红色,(0,255,0)表示绿色,而(0,0,255)表示蓝色。当红蓝绿色量相同时为浅灰色。
2)方法screen.fill()用背景色填充屏幕;这种方法只接受实参:一种颜色。
3、创建设置类
#settings.py
class Settings():
def __init__(self):
#屏幕设置
self.screen_width=1200
self.screen_height=800
self.bg_color=(230,230,230)
#alien_invasion.py
# -*- coding: utf-8 -*-
import sys
from settings import Settings
import pygame
def run_game():
#初始化游戏并创建一个屏幕对象
pygame.init()
ai_settings=Settings()
screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
#设置游戏背景色
bg_color=(230,230,230)
#开始游戏主循环
while True:
#监视键盘和鼠标事件
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
#每次循环时都会重绘屏幕
screen.fill(ai_settings.bg_color)
#让最近绘制的屏幕可见
pygame.display.flip()
run_game()
近年来游戏市场竞争十分激烈,随着VR热潮的来临,这一趋势更加明显,各游戏公司均加快新游戏开发,占领游戏市场份额,Python在游戏领域也非常吃香。好了,今天就分享到这里,如果有想学习python的或想跟小编交流的欢迎留言转发或点赞,也算给小编一点点鼓励,在这感谢了!最后祝大家早日成为python大牛!