玩游戏学Python6-演员Actor

1.Actor介绍

在pyzero库中,Actor用于表示游戏中的角色。它封装了图像显示、位置控制和碰撞检测等常用功能,让开发者可以更专注于游戏逻辑。接下来,在我们的程序中,使用Actor来显示一辆小车。

2.Actor的创建及显示

2.1 创建Actor

2.1.1 图片的准备

要通过Actor显示小车,需要把小车图片保存到images文件夹中,该文件夹与源代码文件在同一目录下,代码如图1所示。

图1 源代码与images文件夹

其中,images文件夹中包含了"car.png"的图片,表示要显示的汽车;中间的"car.png"用于显示游戏窗口标题栏的图标;"第1次课.py"是源代码文件。

2.1.2 创建表示汽车的Actor

通过图2所示代码创建表示汽车的Actor。

图2 创建表示汽车Actor的代码

其中,car就是创建的汽车Actor变量。字符串'car'表示images文件夹中的"car.png"图片,(150,300)圆括号中的两个数字分别表示汽车位置的横坐标与纵坐标。

2.2 pgzero的坐标系

pgzero的坐标系与数学中的笛卡尔坐标系有些不同,如图3所示。

图3 pgzero的坐标系

其中,pgzero坐标系的x轴的正方向是向右的,与数学中的笛卡尔坐标系相同;但是pgzero坐标系的y轴的正方向是向下的,这一点与笛卡尔坐标系不相同,笛卡尔坐标y轴的正方向是向上的。游戏窗口的左上角是pgzero坐标系的原点,其坐标为(0,0)。

2.3 显示Actor汽车

在《玩游戏学Python5-函数》中提到,pgzero库的draw()用来绘制游戏的。因此,在该函数中显示Actor汽车,代码如图4所示。

图4 显示Actor汽车的代码

其中,car是图2中创建的Actor变量,car.draw()的作用是在指定位置显示指定的汽车图片。代码运行效果如图5所示。

图5 代码运行效果

此时,汽车图片的中心位置的坐标是图2代码中指定的(150, 300)。

3.完整代码

通过Actor显示汽车的完整代码如下所示。

python 复制代码
import pgzrun

WIDTH = 480
HEIGHT = 960
TITLE = '我的第一个pgzero游戏'
ICON = 'car.png'
screen_color = 'green'

car = Actor('car', (150, 300))

def draw():
    screen.fill(screen_color)
    car.draw()

def update():
    print('你好')
    
pgzrun.go()
相关推荐
旖旎夜光1 小时前
【LangGraph实战】LangGraph 学习笔记(四):持久化——从线程记忆到跨会话长期记忆
人工智能·笔记·python·学习·ai编程·langgraph
yeflx2 小时前
万向节死锁
python
亿道电子Emdoor2 小时前
【Perforce】Klocwork-kwgcheck图形化界面无法打开如何解决
git·python·github
迅猛龙办公室4 小时前
python实现倒序输出数字
开发语言·python
全栈练习生13 小时前
AI Agent 沙箱
python·ai
SEO_juper14 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户83562907805115 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__16 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户83562907805116 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python