玩游戏学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()
相关推荐
代码山河13 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
在世修行13 小时前
智学文枢:题目流水线
python·多线程·状态机·pyside
梯度下降者14 小时前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
“AI国潮设计-小江”15 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc16 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读16 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
外收内放17 小时前
Python基础语法练习题(73)
java·前端·python
锋行天下17 小时前
Langgraph HITL 中断运行,用户输入后输出打字效果
人工智能·python
时早玖沐18 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
触底反弹18 小时前
🚀 FastAPI 五大重难点深度剖析:从 500 报错到彻底搞懂 Depends、Pydantic 与 SQLAlchemy
python·fastapi