大家好,小编来为大家解答以下问题,python手机版做小游戏代码大全,python可以写手机游戏脚本吗,今天让我们一起来看看吧!
Source code download: 本文相关源码
教你如何用 Python 写一个小游戏
引言
最近 python 语言大火, 除了在科学计算领域 python 有用武之地之外, 在游戏后台等方面, python 也大放异彩, 本篇博文将按照正规的项目开发流程, 手把手教大家写个 python 小游戏, 来感受下其中的有趣之处本次开发的游戏叫做 alien invasion
安装 pygame 并创建能左右移动的飞船
安装 pygame
本人电脑是 windows 10python3.6,pygame 下载地址: 传送门 https://pypi.python.org/pypi/Pygame/1.9.3
请自行下载对应 python 版本的 pygame
运行以下命令$ pip install wheel
$ pip install pygame1.9.3cp36cp36mwin_amd64.whl
创建 Pygame 窗口及响应用户输入
新建一个文件夹 alien_invasion, 并在文件夹中新建 alien_invasion.py 文件, 输入如下代码importsys
importpygame
defrun_game():
#initialize game and create a dispaly object
pygame.init()
screen=pygame.display.set_mode((1200,800))
pygame.display.set_caption("Alien Invasion")
# set backgroud color
bg_color=(230,230,230)
# game loop
whileTrue:
# supervise keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
# fill color
screen.fill(bg_color)
# visualiaze the window
pygame.display.flip()
run_game()
运行上述代码, 我们可以得到一个灰色界面的窗口:
$ python alien_invasion.py
创建设置类
为了在写游戏的过程中能便捷地创建一些新功能, 下面额外编写一个 settings 模块, 其中包含一个 Settings 类, 用于将所有设置存储在一个地方这样在以后项目增大时修改游戏的外观就更加容易
我们首先将 alien_invasion.py 中的显示屏大小及显示屏颜色进行修改
首先在 alien_invasion 文件夹下新建 python 文件 settings.py, 并向其中添加如下代码:classSettings(object):
"""docstring for Settings"""
def__init__(self):
# initialize setting of game
# screen setting
self.screen_width=1200
self.screen_height=800
self.bg_color=(230,230,230)
然后再 alien_invasion.py 中导入 Settings 类, 并使用相关设置, 修改如下:importsys
importpygame
fromsettingsimportSettings
defrun_game():
#initialize game and create a dispaly object
pygame.init()
ai_settings=Settings()文章来源:https://www.toymoban.com/news/detail-797961.html
screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
# set backgroud color
bg_color=(230,230,230)
# game loop
whileTrue:
# supervise keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
# fill color
screen.fill(ai_settings.bg_color)
# visualiaze the window
pygame.display.flip()
run_game()
添加飞船图像
接下来, 我们需要将飞船加入游戏中为了在屏幕上绘制玩家的飞船, 我们将加载一幅图像, 再使用 Pygame()方法 blit()绘制它
在游戏中几乎可以使用各种类型的图像文件, 但是使用位图 (.bmp) 文件最为简单, 这是因为 Pygame 默认加载位图虽然其他类型的图像也能加载, 但是需要安装额外的库我们推荐去免费的图片素材网站上去找图像: 传送门 https://pixabay.com/ 我们在主项目文件夹 (alien_invasion) 中新建一个文件夹叫 images, 将如下 bmp 图片放入其中
接下来, 我们创建飞船类 ship.py:importpygame
classShip():
def__init__(self,screen):
#initialize spaceship and its location
self.screen=screen
# load bmp image and get rectangle
self.image=pygame.image.load('image/ship.bmp')
self.rect=self.image.get_rect()
self.screen_rect=screen.get_rect()
#put spaceship on the bottom of window
self.rect.centerx=self.screen_rect.centerx
self.rect.bottom=self.screen_rect.bottom
defblitme(self):
#buld the spaceship at the specific location
self.screen.blit(self.image,self.rect)
最后我们在屏幕上绘制飞船, 即在 alien_invasion.py 文件中调用 blitme 方法:importsys
importpygame
fromsettingsimportSettings
fromshipimportSettings
defrun_game():
#initialize game and create a dispaly object
pygame.init()
ai_settings=Settings()
screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
ship=Ship(screen)
pygame.display.set_caption("Alien Invasion")
# set backgroud color
bg_color=(230,230,230)
# game loop
whileTrue:
# supervise keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
# fill color
screen.fill(ai_settings.bg_color)
ship.blitme()
# visualiaze the window
pygame.display.flip()
run_game()
重构: 模块 game_functions
在大型项目中, 经常需要在添加新代码前重构既有代码重构的目的是为了简化代码的结构, 使其更加容易扩展我们将实现一个 game_functions 模块, 它将存储大量让游戏 Alien invasion 运行的函数通过创建模块 game_functions, 可避免 alien_invasion.py 太长, 使其逻辑更容易理解
函数 check_events()
首先我们将管理事件的代码移到一个名为 check_events()的函数中, 目的是为了隔离事件循环importsys
importpygame
defcheck_events():
#respond to keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
然后我们修改 alien_invasion.py 代码, 导入 game_functions 模块, 并将事件循环替换成对函数 check_events()的调用:importsys
importpygame
fromsettingsimportSettings
fromshipimportShip
importgame_functionsasgf
defrun_game():
#initialize game and create a dispaly object
pygame.init()
ai_settings=Settings()
来源: https://cloud.tencent.com/developer/article/1023469?fromSource=waitui文章来源地址https://www.toymoban.com/news/detail-797961.html
教你如何用 Python 写一个小游戏
引言
最近 python 语言大火, 除了在科学计算领域 python 有用武之地之外, 在游戏后台等方面, python 也大放异彩, 本篇博文将按照正规的项目开发流程, 手把手教大家写个 python 小游戏, 来感受下其中的有趣之处本次开发的游戏叫做 alien invasion
安装 pygame 并创建能左右移动的飞船
安装 pygame
本人电脑是 windows 10python3.6,pygame 下载地址: 传送门 https://pypi.python.org/pypi/Pygame/1.9.3
请自行下载对应 python 版本的 pygame
运行以下命令$ pip install wheel
$ pip install pygame1.9.3cp36cp36mwin_amd64.whl
创建 Pygame 窗口及响应用户输入
新建一个文件夹 alien_invasion, 并在文件夹中新建 alien_invasion.py 文件, 输入如下代码importsys
importpygame
defrun_game():
#initialize game and create a dispaly object
pygame.init()
screen=pygame.display.set_mode((1200,800))
pygame.display.set_caption("Alien Invasion")
# set backgroud color
bg_color=(230,230,230)
# game loop
whileTrue:
# supervise keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
# fill color
screen.fill(bg_color)
# visualiaze the window
pygame.display.flip()
run_game()
运行上述代码, 我们可以得到一个灰色界面的窗口:
$ python alien_invasion.py
创建设置类
为了在写游戏的过程中能便捷地创建一些新功能, 下面额外编写一个 settings 模块, 其中包含一个 Settings 类, 用于将所有设置存储在一个地方这样在以后项目增大时修改游戏的外观就更加容易
我们首先将 alien_invasion.py 中的显示屏大小及显示屏颜色进行修改
首先在 alien_invasion 文件夹下新建 python 文件 settings.py, 并向其中添加如下代码:classSettings(object):
"""docstring for Settings"""
def__init__(self):
# initialize setting of game
# screen setting
self.screen_width=1200
self.screen_height=800
self.bg_color=(230,230,230)
然后再 alien_invasion.py 中导入 Settings 类, 并使用相关设置, 修改如下:importsys
importpygame
fromsettingsimportSettings
defrun_game():
#initialize game and create a dispaly object
pygame.init()
ai_settings=Settings()
screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
# set backgroud color
bg_color=(230,230,230)
# game loop
whileTrue:
# supervise keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
# fill color
screen.fill(ai_settings.bg_color)
# visualiaze the window
pygame.display.flip()
run_game()
添加飞船图像
接下来, 我们需要将飞船加入游戏中为了在屏幕上绘制玩家的飞船, 我们将加载一幅图像, 再使用 Pygame()方法 blit()绘制它
在游戏中几乎可以使用各种类型的图像文件, 但是使用位图 (.bmp) 文件最为简单, 这是因为 Pygame 默认加载位图虽然其他类型的图像也能加载, 但是需要安装额外的库我们推荐去免费的图片素材网站上去找图像: 传送门 https://pixabay.com/ 我们在主项目文件夹 (alien_invasion) 中新建一个文件夹叫 images, 将如下 bmp 图片放入其中
接下来, 我们创建飞船类 ship.py:importpygame
classShip():
def__init__(self,screen):
#initialize spaceship and its location
self.screen=screen
# load bmp image and get rectangle
self.image=pygame.image.load('image/ship.bmp')
self.rect=self.image.get_rect()
self.screen_rect=screen.get_rect()
#put spaceship on the bottom of window
self.rect.centerx=self.screen_rect.centerx
self.rect.bottom=self.screen_rect.bottom
defblitme(self):
#buld the spaceship at the specific location
self.screen.blit(self.image,self.rect)
最后我们在屏幕上绘制飞船, 即在 alien_invasion.py 文件中调用 blitme 方法:importsys
importpygame
fromsettingsimportSettings
fromshipimportSettings
defrun_game():
#initialize game and create a dispaly object
pygame.init()
ai_settings=Settings()
screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
ship=Ship(screen)
pygame.display.set_caption("Alien Invasion")
# set backgroud color
bg_color=(230,230,230)
# game loop
whileTrue:
# supervise keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
# fill color
screen.fill(ai_settings.bg_color)
ship.blitme()
# visualiaze the window
pygame.display.flip()
run_game()
重构: 模块 game_functions
在大型项目中, 经常需要在添加新代码前重构既有代码重构的目的是为了简化代码的结构, 使其更加容易扩展我们将实现一个 game_functions 模块, 它将存储大量让游戏 Alien invasion 运行的函数通过创建模块 game_functions, 可避免 alien_invasion.py 太长, 使其逻辑更容易理解
函数 check_events()
首先我们将管理事件的代码移到一个名为 check_events()的函数中, 目的是为了隔离事件循环importsys
importpygame
defcheck_events():
#respond to keyboard and mouse item
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
sys.exit()
然后我们修改 alien_invasion.py 代码, 导入 game_functions 模块, 并将事件循环替换成对函数 check_events()的调用:importsys
importpygame
fromsettingsimportSettings
fromshipimportShip
importgame_functionsasgf
defrun_game():
#initialize game and create a dispaly object
pygame.init()
ai_settings=Settings()
来源: https://cloud.tencent.com/developer/article/1023469?fromSource=waitui
到了这里,关于python可以编写手机软件吗,python可以做手机游戏吗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!