Python就只能从事人工智能?今天带你Python游戏开发!

newbieol 2018-02-05

Python就只能从事人工智能?今天带你Python游戏开发!

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()

Python就只能从事人工智能?今天带你Python游戏开发!

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()

Python就只能从事人工智能?今天带你Python游戏开发!

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大牛!

相关推荐