Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pygame以可变速度沿固定路径旋转_Python_Scroll_Pygame_Custom Scrolling - Fatal编程技术网

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

Python Pygame以可变速度沿固定路径旋转,python,scroll,pygame,custom-scrolling,Python,Scroll,Pygame,Custom Scrolling,我试图沿着一条固定的路径滚动背景(想象一辆自行车绕着一个velodrome——2个直道和2个180度弯),屏幕中央有一个英雄/精灵 我不知道如何使用变速输入来实现这一点?(这阻止了我创建x和y坐标的列表-我想是??) 我计划改编取自此示例代码的代码 此代码使用按下的键确定背景移动的方式: 例如,右键按下=当前位置(x或y坐标)+速度*时间差。这就给了新的定位。 其中速度以每秒像素为单位,时间差为每帧时钟滴答声 目前,我正在考虑一组规则,以帮助确定代码中的下一个self.\u位置值。例如,如果背

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

我不知道如何使用变速输入来实现这一点?(这阻止了我创建x和y坐标的列表-我想是??)

我计划改编取自此示例代码的代码

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

目前,我正在考虑一组规则,以帮助确定代码中的下一个self.\u位置值。例如,如果背景位于某个位置,则英雄必须位于直线上(仅表示y),或位于角点的起点(然后开始一条半圆方程路径)


这似乎是一种奇怪的方式?有没有一种方法可以将时钟信号和变速输入引起的时间差分解为向量因子?

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

我通过使用clock.tick(从最后一帧开始经过的时间)创建一个最小平均速度来解决这个问题。(dt=时间差)

使用当前速度,最后一帧与dt I结合,可以给出行驶距离(新的x-y坐标)。当沿着直线行驶时,非常容易

当英雄精灵到达拐角处时,我使用了三角和一段弧方程来更新x-y坐标


将代码放入按键功能(def handle_输入)是错误的。它在英雄类的def更新中起作用。

你能帮我更好地理解这个问题吗。您可以添加一些有问题的特定代码段吗。如果您希望获得有关如何设计顶级函数的帮助,请尝试制作一段简短的pyScroll代码片段,以帮助我们更好地理解问题。