【Arcade从入门到精通】1、Arcade基础 精灵类 窗口类

前言

【Arcade从入门到精通】Arcade库是一个易于学习的Python库,在此专栏中的每篇文章都会用学过的Arcade知识做一个小游戏,本文要做的小游戏是拼接星际地图。

素材:
链接:https://pan.baidu.com/s/1KMslgmwMJx_CMjHmOPlMXQ
提取码:c72g


代码效果:


一、准备工作

1、安装库

要想使用Arcade需要导入Arcade库,因为不是标准库需要用pip安装

pip install arcade

2、导入库

以下代码为导入库,这里用from xxx import xxx导入

from arcade import *	# 导入Arcade库

二、基本框架

1、定义类

定义MyWindow类继承Arcade窗口类,包含Arcade窗口类的所有方法

class MyWindow(Window):	# 定义类

2、run()函数

然后添加调用run()函数的代码,不然窗口会忽然关闭
注意:调用run()函数的代码要加在类的外面,并且在最后一行
这是一个例子:

from arcade import *
class MyWindow(Window):
    def __init__(self):
    	super().__init__()
w = MyWindow()
run()	# 运行程序

3、开始渲染

接下来完成开始渲染的代码
开始渲染的代码必须有,否则背景一片空白
而且必须写在on_draw方法中,并且on_draw名称不能改动,因为这是重写方法

    def on_draw(self):	# 重写on_draw方法
        start_render()	# 开始渲染

start_render为开始渲染代码

三、设置背景颜色,添加精灵

1、背景颜色

在Arcade中,设置背景颜色的函数是set_background_color()
它的用法是在括号中写颜色的英文单词

重要的是,必须要加上下列代码

from arcade import color	# 导入Arcade中的颜色

如果是用from arcade import *导入Arcade库,不会导入颜色

注意:前面的color是小写,后面的颜色单词全部大写

比如想设置背景颜色为红色,格式是:

from arcade import color	# 导入颜色
set_background_color(color.RED)	# 设置背景颜色为红色

如果是天蓝色,格式是:

from arcade import color	# 导入颜色
set_background_color(color.SKY_BLUE)	# 设置背景颜色为天蓝色

注意:前面的color是小写,后面的颜色单词全部大写

2、添加精灵

接着,添加精灵,设置精灵位置,把地图碎片拼凑成整张地图

以下代码为创建精灵,p1为精灵名称,可以随便起名,1.png是导入图片,注意要和图片在一个文件夹中,0.3为精灵大小,可以设置小于1的数字或大于1的数字,默认为1

'''创建精灵,名称为p1,导入图片1.png,设置大小为0.3'''
self.p1 = Sprite('1.png', 0.3)

精灵创建完后,还需要画出来,这就需要重写on_draw方法,在on_draw方法里写上

def on_draw(self):
	self.p1.draw()	# 画出名为p1的精灵

这一步很重要,必须要写

3、坐标系

接下来看看坐标系,有助于设置精灵坐标
Arcade的坐标系是这样的

可以看出来所有的负数坐标都在窗口外

以下代码为设置精灵的中心点x, y坐标

self.p1.center_x = 320	# 设置精灵中心点x坐标为320
self.p1.center_y = 391	# 设置精灵中心点y坐标为391

以此类推,设置背景颜色,创建所有的精灵,画出所有的精灵,并设置精灵位置,这里给出代码

    def __init__(self):
    	super().__init__()
    	
        set_background_color(color.SNOW)	# 设置背景颜色

        self.p1 = Sprite('1.png', 0.3)	# 创建精灵地图碎片1
        self.p1.center_x = 320	# 设置精灵中心点位置
        self.p1.center_y = 391	# 设置精灵中心点位置

        self.p2 = Sprite('2.png', 0.3)	# 创建精灵地图碎片2
        self.p2.center_x = 190	# 设置精灵中心点位置
        self.p2.center_y = 220	# 设置精灵中心点位置

        self.p3 = Sprite('3.png', 0.3)	# 创建精灵地图碎片3
        self.p3.center_x = 138	# 设置精灵中心点位置
        self.p3.center_y = 408	# 设置精灵中心点位置

        self.p4 = Sprite('4.png', 0.3)	# 创建精灵地图碎片4
        self.p4.center_x = 469	# 设置精灵中心点位置
        self.p4.center_y = 354	# 设置精灵中心点位置

        self.p5 = Sprite('5.png', 0.3)	# 创建精灵地图碎片5
        self.p5.center_x = 431	# 设置精灵中心点位置
        self.p5.center_y = 157	# 设置精灵中心点位置

    def on_draw(self):	# 重写方法on_draw
        start_render()	# 开始渲染
        self.p1.draw()	# 画出精灵
        self.p2.draw()	# 画出精灵
        self.p3.draw()	# 画出精灵
        self.p4.draw()	# 画出精灵
        self.p5.draw()	# 画出精灵

四、完整代码

下面是今天内容的全部代码:

from arcade import *	# 导入库
from arcade import color	# 导入Arcade中的颜色

class MyWindow(Window):
    def __init__(self):
    	super().__init__()
    	
        set_background_color(color.SNOW)	# 设置背景颜色

        self.p1 = Sprite('1.png', 0.3)	# 创建精灵地图碎片1
        self.p1.center_x = 320	# 设置精灵中心点位置
        self.p1.center_y = 391	# 设置精灵中心点位置

        self.p2 = Sprite('2.png', 0.3)	# 创建精灵地图碎片2
        self.p2.center_x = 190	# 设置精灵中心点位置
        self.p2.center_y = 220	# 设置精灵中心点位置

        self.p3 = Sprite('3.png', 0.3)	# 创建精灵地图碎片3
        self.p3.center_x = 138	# 设置精灵中心点位置
        self.p3.center_y = 408	# 设置精灵中心点位置

        self.p4 = Sprite('4.png', 0.3)	# 创建精灵地图碎片4
        self.p4.center_x = 469	# 设置精灵中心点位置
        self.p4.center_y = 354	# 设置精灵中心点位置

        self.p5 = Sprite('5.png', 0.3)	# 创建精灵地图碎片5
        self.p5.center_x = 431	# 设置精灵中心点位置
        self.p5.center_y = 157	# 设置精灵中心点位置

    def on_draw(self):	# 重写方法on_draw
        start_render()	# 开始渲染
        self.p1.draw()	# 画出精灵
        self.p2.draw()	# 画出精灵
        self.p3.draw()	# 画出精灵
        self.p4.draw()	# 画出精灵
        self.p5.draw()	# 画出精灵
        
w = MyWindow()
run()	# 运行Arcade程序

总结

今天讲到的是怎么创建窗体、精灵、了解坐标系等

以上就是今天要讲的内容,本文介绍了Arcade的部分函数的使用,并制作了一个真正的小游戏,而Arcade还有大量能使我们快速便捷地制作小游戏的函数和方法,以后会慢慢讲到的。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 我可以帮你使用Pythonarcade库来创建一个平台游戏。arcade库提供了一个简单而强大的API,可以帮助你创建2D游戏。它还有一个文档,可以帮助你开始创建游戏,并且拥有许多示例代码,可以让你学习如何使用这个库。 ### 回答2: 使用Pythonarcade库可以很方便地制作平台游戏。arcade库提供了许多内置函数和,用于处理游戏循环、精灵、碰撞检测等常见的游戏开发任务。 首先,我们需要创建一个游戏窗口。通过arcade库提供的Window,我们可以创建一个指定大小的窗口,并设置背景颜色。 接下来,我们可以创建角色或者其他游戏中的物体,这些物体被称为精灵arcade库提供了Sprite用于创建精灵。我们可以设置精灵的外观、位置、大小等属性。 在游戏循环中,我们可以监听用户输入,例如键盘按键、鼠标点击等事件。通过事件处理函数,我们可以根据用户的操作来更新精灵的状态。 在平台游戏中,通常会涉及到角色的跳跃、移动、碰撞检测等功能。arcade库提供了一些内置函数和方法来处理这些功能。例如,我们可以使用移动函数来控制角色的水平和垂直移动。我们还可以使用碰撞检测函数来判断角色是否与其他物体发生了碰撞。 此外,arcade库还可以处理音效、动画等高级功能,以及绘制背景、地图等元素。它还提供了一些内置的工具函数,用于计算距离、旋转等常见操作。 总的来说,使用Pythonarcade库可以实现一个简单而又有趣的平台游戏。通过利用arcade库提供的丰富功能,可以很方便地创建精灵、处理用户输入、实现碰撞检测等游戏开发任务。无论是新手还是有经验的开发者,都可以轻松上手使用arcade库制作自己的平台游戏。 ### 回答3: 使用Pythonarcade库可以很方便地制作平台游戏。首先,我们需要导入arcade库。然后创建一个继承自arcade.Window的,作为游戏窗口。 在窗口中,我们可以定义一些属性,比如玩家的位置和角色模型等。然后,我们可以使用arcade库提供的绘图函数来渲染游戏界面。 接着,我们可以定义一些事件处理函数,比如按键事件或鼠标事件。根据不同的事件,我们可以更新游戏状态,比如移动玩家或触发一些特殊的效果。 在游戏循环中,我们可以使用arcade库提供的定时器函数来设定游戏帧率。每一帧,我们可以调用draw函数来绘制游戏界面,并在需要时更新游戏状态。 此外,我们可以使用arcade库提供的物理引擎功能,比如重力或碰撞检测,来增加游戏的真实性和挑战性。 最后,当玩家达到游戏的胜利条件或失败条件时,我们可以显示游戏结束画面,并提供一些重新开始或退出游戏的选项。 总的来说,使用Pythonarcade库可以很方便地制作一个平台游戏。通过定义游戏窗口、绘制游戏界面、处理事件和更新游戏状态等步骤,我们可以创建一个有趣且具有挑战性的游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值