Python和Arcade库创建2D游戏(一)面向人群零基础或者初学者

面向人群: 零基础或者初学者

https://m.toutiao.com/is/JTpRKvx/

  • 面向人群: 零基础或者初学者
  • 难度: 简单, 属于Python基础课程

对于那些学习编程的人来说,Python是一种出色的语言,非常适合那些希望“完成工作”并且不花很多时间在样板代码上的人。 Arcade是一个用于创建2D视频游戏的Python库,该库易于开始使用,并且在您获得经验时非常有能力。在本文中,我将解释如何开始使用Python和Arcade对视频游戏进行编程。

重要说明

我们尽力保证课程内容的质量以及学习难度的合理性,但即使如此,真正决定课程效果的,还是你的每一次思考和实践。

课程多数题目的解决方案都不是唯一的,这和我们在实际工作中的情况也是一致的。因此,我们的要求功能的实现,更是要多去思考不同的解决方案,评估不同方案的优劣,然后使用在该场景下最优雅的方式去实现。所以,我们列出的参考资料未必是实现需求所必须的。有的时候,实现题目的要求很简单,甚至参考资料里就有,但是背后的思考和亲手去实践却是任务最关键的一部分。在学习这些资料时,要多思考,多提问,多质疑。相信通过和小伙伴们的交流,能让你的学习事半功倍。

1.1 任务介绍

  • 1、简单绘制一个笑脸(示例一 smile_face.py)
  • 2、画一棵松树(示例二 使用函数画一颗松树 spine_tree.py)
  • 3. 制作个类超级马里奥游戏(下一期讲

1.2 知识点

  • Linux命令行的使用
  • Python基础
  • Arcade库的使用

1.3 环境

  • linux系统(ubuntu18.04)/ windows系统可以打开ubuntu子系统
  • pycharm编辑器(windows如何安装pycharm社区版本)
  • Python 3.6.9(windows如何安装python环境)
  • pip3 9.0.1
  • arcade 2.5
$ python --versionPython 3.6.9$ pip3 --versionpip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

像许多其他软件包一样,可以通过PyPi使用Arcade,这意味着您可以使用pip命令(或pipenv命令)安装Arcade。如果您已经安装了Python

windows系统:

  • (1)Win+R,输入cmd,打开Windows的命令行。
  • (2)输入:pip install arcade,等待安装完成。如果安装过程不顺利,请百度找到原因,直到安装成功为止

linux系统:

sudo pip3 install --upgrade pipsudo pip3 install arcade

MacOS系统

pip3 install arcade

有关更详细的安装说明,您可以参考Arcade安装文档。

1.4 代码

示例一 smile_face.py

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/12/11# @Author : AlexZ33# @Site : # @File : smiley_face.py# @Reference: https://opensource.com/article/18/4/easy-2d-game-creation-python-and-arcade# @Software: PyCharmimport arcade# 设置屏幕尺寸的常量SCREEN_WIDTH = 600SCREEN_HEIGHT = 600# 打开窗户。设置窗口标题和尺寸(宽度和高度)arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, '画个笑脸')# 将背景色设置为白色。# 有关命名颜色的列表,请参见:# http://arcade.academy/arcade.color.html# 颜色也可以指定为(红色,绿色,蓝色)格式,# (红色,绿色,蓝色,alpha)格式。arcade.set_background_color(arcade.color.WHITE)# 开始渲染过程。必须在执行任何绘图命令之前完成此操作。arcade.start_render()# 画脸x = 300y = 300radius = 200arcade.draw_circle_filled(x, y, radius, arcade.color.YELLOW)# 画右眼x = 370y = 350radius = 20arcade.draw_circle_filled(x, y, radius, arcade.color.BLACK)# 画左眼x = 230y = 350radius = 20arcade.draw_circle_filled(x, y, radius, arcade.color.BLACK)# 画微笑x = 300y = 280width = 120height = 100start_angle = 190end_angle = 350arcade.draw_arc_outline(x, y, width, height, arcade.color.BLACK, start_angle, end_angle, 10)# 完成绘图并显示结果arcade.finish_render()# 使窗口保持打开状态,直到用户点击“关闭”按钮为止arcade.run()

示例二 pine_tree.py

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/12/11# @Author : AlexZ33# @Site : # @File : pine_tree.py# @Software: PyCharm# 本示例说明如何使用函数(function)绘制场景。它并不假定程序员知道如何使用类。import arcade# 常数-不变的变量SCREEN_WIDTH = 600SCREEN_HEIGHT = 600SCREEN_TITLE = '使用函数绘制'def draw_background(): ''' 此函数绘制背景。特别是天空和地面。 ''' # 在三分之二的顶部绘制天空 arcade.draw_lrtb_rectangle_filled(0, SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_HEIGHT * (1 / 3), arcade.color.SKY_BLUE) # 在底部三分之一绘制地面 arcade.draw_lrtb_rectangle_filled(0, SCREEN_WIDTH, SCREEN_HEIGHT / 3, 0, arcade.color.DARK_SPRING_GREEN)def draw_bird(x, y): ''' 用几条弧线画一只鸟。 ''' arcade.draw_arc_outline(x, y, 20, 20, arcade.color.BLACK, 0, 90) arcade.draw_arc_outline(x + 40, y, 20, 20, arcade.color.BLACK, 90, 180)def draw_pine_tree(x, y): ''' 此函数在指定位置绘制一棵松树。 ''' # 在顶部绘制三角形 arcade.draw_triangle_filled(x + 40, y, x, y - 100, x + 80, y - 100, arcade.color.DARK_GREEN) # 画行李箱 arcade.draw_lrtb_rectangle_filled(x + 30, x + 50, y - 100, y - 140, arcade.color.DARK_BROWN)def main(): ''' 这是主程序。 ''' # 打开窗户 arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE) # 开始渲染过程。必须在执行任何绘图命令之前完成此操作。 arcade.start_render() # 调用我们的绘图函数。 draw_background() draw_pine_tree(50, 250) draw_pine_tree(350, 320) draw_bird(70, 500) draw_bird(470, 550) # 完成渲染。 # 没有这个,什么都不会画。 # 必须在所有绘制命令之后使用 arcade.finish_render() # 保持窗在,直到有人将其关闭。 arcade.run()if __name__ == '__main__': main()

经验更丰富的程序员会知道,现代图形程序会先将图形信息加载到图形卡上,然后再要求图形卡批量绘制图形信息。Arcade也支持这一点。分别绘制10,000个矩形大约需要0.800秒。批量提取它们只需不到0.001秒。

(0)

相关推荐

  • JETBOT AI构建指南

    这个就是我们目前在官网看见的产品,可以看到还是很简单的.两个差速轮子.一个主板,一个电机驱动模块,一个摄像头 差分驱动器配置,就是两个轮子的转速不一样. 就可以前进,后退,转弯等 霍尔效应传感器轮编码 ...

  • Py之PIL:Python的PIL库的简介、安装、使用方法详细攻略

    Py之PIL:Python的PIL库的简介.安装.使用方法详细攻略 PIL库的简介 PIL,Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常 ...

  • Python screen19包

    小分子单晶x射线衍射数据筛选程序 您需要有一个包含拨号的python环境才能使用它.然后您可以使用以下命令安装它: libtbx.pip install screen19 如果要开发Screen19, ...

  • 用pygame开发自己的游戏-1. 基础与入门

    一.前言 pygame是一个用Python写的SDL库.SDL是一个能访问计算机多媒体硬件组件(包括声卡,视频卡,输入组件等)的跨平台库.本系列主要通过pygame做小游戏来学习编程.对于学过基本语法 ...

  • 深度盘点 | 史上最全python数据可视化库

    有多少同学和小编一样,学习python的主要目的,是为了实现数据可视化?

  • 神奇的 Python 图片处理库:exifread

    [导语]:用 python 怎样获得图片的GPS信息?今天推荐一下 exifread 这个神奇的库,不仅仅是 GPS 信息,几乎能能获得图片的所有信息,快进来看看!! 要怎样获得拍摄图片的GPS呢?这 ...

  • Python常用的库简单介绍

    Python常用的库简单介绍一下 fuzzywuzzy ,字符串模糊匹配.   esmre ,正则表达式的加速器.   colorama 主要用来给文本添加各种颜色,并且非常简单易用.   Prett ...

  • 可能是全网最完整的 Python 操作 Excel库总结!

    在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl.xlrd/xlwt.xlwings.xlsxwriter等进行了详细的讲解. 为了进一步带大家了解各个库的 ...

  • Python利用xlwings库读写excel常用操作:range对象 | o郭二爷o

    前面两节介绍xlwings操作book对象.sheet对象的一些常用操作,本节来介绍xlwings对range对象的一些操作,也是使用最频繁的操作.我们对excel读写都是基于具体的单元格区域进行的, ...

  • 【商业教程】PS中2D 游戏道具绘制教程

    --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! 课程介绍 这个课程会为你展示如何制作高质量的有特点的游戏舍自己可以让你在专业的工作中使用到.课程中所教授的技术可以用于任何游戏资产创建 ...

  • 【商业教程】unity5 2D游戏开发教程2套合集

    --  微资讯 · 微课程  -- 利用零碎时间,走上超神之路! 课程介绍 4小时提升你的游戏设计 课程描述 在这个课程中我们会使用简单的2D动作平台,你会学到多种技巧,比如如何添加 屏幕抖动,如何让 ...

  • Python常用数据分析库有哪些?五大类介绍

    众所周知,Python前景好.需求量大.薪资高.就业岗位多,除了基本的开发工作之外,还可以从事人工智能.数据分析.网络爬虫等岗位.那么说起数据分析,你知道Python常用数据分析库有哪些吗?我们一起来 ...

  • 超全整理|Python 操作 Excel 库常用操作详解

    来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库 ...