Pygame以可变速度沿着固定路径旋转

2024-04-26 09:38:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着沿着一条固定的路径滚动背景(想象一辆自行车绕着赛车场转——2个直道和2个180度弯),屏幕中央有一个英雄/精灵。你知道吗

我很难弄清楚如何用变速输入来实现这一点?(这阻止了我创建x和y坐标的列表-我想??)你知道吗

我计划修改从这个示例代码中获取的代码 PyScroll

此代码使用按下的键确定背景移动的方式: 例如,右键按下=当前位置(x或y坐标)+速度*时差。这给了新的位置。 其中速度以像素每秒为单位,时间差为时钟滴答声每帧。你知道吗

目前我正在考虑一套规则来帮助确定代码中的下一个self.\u位置值。例如,如果背景在某个位置,那么英雄必须在直线上(只加上y)或在角的开始处(然后一个半圆方程路径开始)。你知道吗

这似乎是一种奇怪的方式吗?有没有一种方法可以跟踪由时钟信号和变速输入引起的时间差中的向量因子?你知道吗


Tags: 代码路径列表屏幕方式自行车时钟速度
1条回答
网友
1楼 · 发布于 2024-04-26 09:38:05

我仍在努力解决这个问题。我想我更多的是在寻找一个概念性的答案,而不是代码。你知道吗

我通过使用时钟滴答声(从最后一帧开始经过的时间)以创建最小平均速度。(dt=时间差)

使用当前速度,最后一帧与dt结合,我可以给出移动的距离(新的x-y坐标)。沿着直线行驶时足够容易。你知道吗

当英雄精灵到达角落时,我使用了三角和一个弧方程的长度来更新x-y坐标。你知道吗

将代码放入按键功能(def handle\u input)是错误的。它在英雄类的def更新中起作用。你知道吗

相关问题 更多 >