译自(https://arcade.academy/examples/platform_tutorial/index.html)
游戏效果图
在本教程中,使用Python3.6+和Arcade库创建自己的二维平台。学习使用精灵和平铺地图编辑器创建自己的游戏。添加硬币、坡道、移动平台、敌人等。
(在每一步结束时,如果你有时间,请浏览“备注”中列出的项目。)
本教程分为以下几个部分:
步骤1-安装并打开窗口
步骤2-添加精灵
步骤3-添加用户控件
步骤4-添加重力
步骤5-添加滚动
步骤6-添加硬币和声音
步骤7-显示分数
步骤8-使用地图编辑器
步骤9-多层和其他层
步骤10-添加梯子、属性和移动平台
步骤11-添加角色动画和更好的键盘控制
步骤1-安装并打开窗口
安装
确保安装了Python。如果您还没有Python,请在这里
下载它。
下载这个压缩包里的代码,图像和声音
。(图片来自kenney.nl.//若无法下载见文末百度云链接)您的文件结构应该如下所示:
确保已安装Arcade库。
a. 在Windows上使用pip Install Arcade安装Arcade,或在Mac/Linux上使用pip3 Install Arcade安装Arcade。或使用venv安装。
b. 这里是更长的官方安装说明
打开一个窗口
下面的示例将打开一个空白窗口。建立一个项目并让下面的代码工作。(它也作为01_open_window.py出现在zip文件中。)
(有可能有一个可调整大小的窗口,但是我们可以先做一些更有趣的事情。因此,在本教程中,我们将坚持使用“设置大小”窗口。)
"""
Platformer Game
01_open_window.py - Open a Window
"""
import arcade
# 定义常量,屏幕的宽、高和标题
SCREEN_WIDTH = 1000
SCREEN_HEIGHT = 650
SCREEN_TITLE = "Platformer"
class MyGame(arcade.Window):
"""
封装成的主类
"""
def __init__(self):
# 初始化父类并设置窗口
super().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
arcade.set_background_color(arcade.csscolor.CORNFLOWER_BLUE)
def setup(self):
""" 在这里设置游戏。调用此函数重新启动游戏. """
pass
def on_draw(self):
""" 渲染屏幕 """
arcade.start_render()
# 这里是绘制屏幕的代码
def main():
""" 主函数,大佬们往往把功能封装成类
在main函数里写测试的代码,如果直接运行该脚本就会运行测试
"""
window = MyGame()
window.setup()
arcade.run()
if __name__ == "__main__":
main()
运行结果
备注:
如果代码成功运行,尝试解决下面的问题:
1.更改屏幕大小
2.更改标题
3.更改背景色(阅读color 和 csscolor 文档)
4.阅读windows类的文档。
教程所用资源
链接:https://pan.baidu.com/s/1MGOBqEBKz6Tc0E_G0EEWFA
提取码:wvjw
map和stack 介绍 (Introduction)"MEAN Apps with Google Maps" (A tongue twister to be true). “带有Google Maps的MEAN应用”(确实是绕口令)。 And yet, whether you're building an application to visualize bike lanes in you..._avlang
霍兰德职业兴趣测评不难,难的是如何解读测评结果,这才是生涯规划测评中最重要的部分。今天我们就来说说霍兰德职业兴趣测评的结果应该如何解读。 兴趣测评的结果是六种类型得分最高的三个代码依次排列组合而成,所以基本上就是R-实用型、I-研究型、A-艺术型、S-社会型、E-企业型、C-事务型,这六个代码中三个代码的组合。我们得到自己的霍兰德代码后再根据代码检索表去寻找相对应的职业。 下面我结合我的测...
点击阅读原文.版本 2.支持库 sock.支持库 ethreadnew.支持库 EThread.支持库 spec.子程序 扫描线程.参数 线程号, 整数型.局部变量 客户, 网络客户端.局部变量 端口, 整数型.局部变量 线程启动状态, 逻辑型.局部变量 许可证, 许可证端口 = 分配端口 ().如果 (端口 = 0) 完成数量 = 完成数量 + 1 许..._易语言 端口扫描
上一篇ubuntu 12.04安装ruby1.9.3介绍了安装 Ruby,接下来开始安装 Rails了。执行:1. $gem install railsgem会自动解决依赖关系,并安装缺少的插件。2. 查看版本:$rails -vRails 3.2.33. 创建demo app$mkdir railsdemo$cd railsdemo$rails new blo_ubuntu therubyracer install
我们在CentOS中使用ifconfig命令查询IP地址结果查询不到,可以使用下面的方法解决:1、命令在命令行执行如下命令,其中eth0是网卡名sudo dhclient eth0sodu ifconfig eth02、有的电脑网卡名不是eth0,而是ens33,那么执行sudo dhclient ens33sodu ifconfig ens333、修改 /etc/sysc...
一、引子还记得警匪片上,匪徒们是怎么配合实施犯罪的吗?一个团伙在进行盗窃的时候,总 有一两个人在门口把风——如果有什么风吹草动,则会立即通知里面的同伙紧急撤退。也许放风的人并不一定认识里面的每一个同伙;而在里面也许有新来的小弟不认识这个放风的。但是这没什么,这个影响不了他们之间的通讯,因为他们之间有早已商定好的暗号。呵呵,上面提到的放风者、偷窃者之间的关系就是观察者模式在现实中的活生生的例子_放风者和偷窃者之间的关系
转载自:https://zhuanlan.zhihu.com/p/25327755在我们日常生活中所用到的推荐系统、智能图片美化应用和聊天机器人等应用中,各种各样的机器学习和数据处理算法正在尽职尽责地发挥自己的功效。本文筛选并简单介绍一些最常见的算法类别,还为每一个类别列出了一些实际算法并简单介绍了它们的优缺点。相关连接:https://static.coggle.it/diagram/..._贝叶斯网络 优劣势
本文详细介绍了Open3D读写点云的方法,并对mesh读写函数的参数做出了详细说明。同时给出了mesh格式转换的方法。_open3d生成mesh
总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。本系统开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与实验室门禁管理系统的实际需求相结合,确定了SSM开发实验室门禁管理系统的使用。关键字:门禁管理 ; SSM;数据库......_实验室门禁系统报告
10假期感觉自己没有白费时间,实验室深度学习已经学到了第八章,自己又接手了matlab数据分析和树莓派的任务,加上数学建模的培训逐渐上道对模型也有一定的了解了。今晚看了一下数据结构——树的内容,不得不说树里面的算法是比较难理解的,光啃概念就花了大半个小时,寻找树和孩子的算法设计确实很巧妙,手动跑程序也能跑出来。下面附上代码!...
机器学习 2014斯坦福大学课程: 4-3 神经网络设计及评价刚开始学习机器学习,学习的视频教程是coursera网站上吴恩达(Andrew Ng)教授的机器学习课程。在此梳理并记录总结笔记,供学习交流,欢迎批评指正!文章目录机器学习 2014斯坦福大学课程: 4-3 神经网络设计及评价怎么利用神经网络解决某个问题?(经验)误差分析学习曲线类偏斜(skewed class)误差分析代码参考..._神经网络训练曲线偏差分析
说明:由于本人能力有限,文章难免有错误之处,希望同学们不吝赐教,共同进步!题目:统计二叉树中的叶子结点数问题描述:建立二叉链表,统计二叉树中的叶子结点数并输出。输入说明:按照完全二叉树的形式输入二叉树的各结点数据(字符),其中虚结点用’@‘表示。输入以’#'结束。输出说明:输出叶子结点的个数及具体值。第一行为叶子结点的数据值,各数据用空格分隔,第二行为叶子结点的个数。输入样例:abc@@de#输出样例:b d e3C代码实现:#include "stdio.h"int In_问题描述 建立二叉链表,统计二叉树中的叶子结点数并输出。 输入说明 按照完全二叉