cjjJasonchen 发表于 2023-7-28 22:52:33

pygame 模拟车辆移动的问题【高额悬赏】

本帖最后由 cjjJasonchen 于 2023-7-30 19:57 编辑

这是我目前正在写的内容:






我希望我在向左或向右的时候轮子在它该待的地方,,。。。而不是莫名其妙的向y轴负方向偏离一些距离


GPT 或其他机器人回答不了的哦!转人工谢谢

cjjJasonchen 发表于 2023-7-30 19:36:46

hhhhhhhhhh   问题解觉啦!!!!!!!!!{:10_266:}三天了终于!!!!
@歌者文明清理员


问题出在wheel的update方法里面:

这是原先的:


      
def update(self):
            
            
            
            self.angle = self.owner.angle
            if self.steering:
                self.angle += self.owner.turn*10
            self.image = pygame.transform.rotate(self.o,self.angle)
            #self.rect = self.image.get_rect()
            #self.rect = self.orect
            self.rect.centerx, self.rect.centery = self.anchor.update_pos()



这是现在的:

def update(self):
            
            
            
            
            self.angle = self.owner.angle
            if self.steering:
                self.angle += self.owner.turn*10
            self.image = pygame.transform.rotate(self.o,self.angle)
            self.rect = self.image.get_rect()
            self.rect.centerx, self.rect.centery = self.anchor.update_pos()



哈哈哈哈哈哈哈可以了可以了原来是没有 self.rect = self.image.get_rect(){:10_298:} {:10_298:} 太高兴啦!!!

如图!!

歌者文明清理员 发表于 2023-7-28 22:52:34

Parceltongue 发表于 2023-7-29 09:16
然后,你知道怎么在mac上安装ursina吗

pip 一下就行了

isdkz 发表于 2023-7-28 22:53:01

很高兴能够帮助您解决pygame模拟车辆移动的问题。根据您提供的信息,您想要实现车辆移动时轮子在应该停留的地方,而不是莫名其妙地向Y轴负方向偏离。

问题描述有些简洁,但缺少具体的代码和问题细节。不过,我会尽力为您提供一般性的解决思路。

在实现车辆移动时,通常需要考虑以下几个方面:

1. 车辆的坐标系统:确保车辆位置的表示和移动使用一致的坐标系统,常见的是使用笛卡尔坐标系,其中X轴表示水平方向,Y轴表示垂直方向。

2. 移动算法:车辆移动可以使用简单的速度和方向来模拟,例如,通过修改车辆的X和Y坐标来实现移动。您可以记录车辆的位置(X和Y坐标),速度和方向,然后在每个时间步骤更新车辆位置。

3. 绘制和动画:使用pygame进行绘制和动画,确保在更新车辆位置后,重新绘制车辆和轮子的图像,以实现平滑的移动效果。

4. 碰撞检测:如果车辆在移动过程中与其他物体有交互,需要进行碰撞检测,防止车辆穿越物体或发生异常情况。

基于上述思路,您可以尝试以下步骤:

1. 定义车辆类:创建一个车辆类,该类包含车辆的位置(X和Y坐标),速度,方向等属性,以及绘制车辆和轮子的方法。

2. 更新车辆位置:在每个时间步骤中,根据车辆的速度和方向,更新车辆的位置(X和Y坐标)。

3. 绘制车辆:使用pygame的绘制功能,在窗口中绘制车辆和轮子的图像,确保图像随着车辆位置的更新而改变,从而实现移动效果。

4. 碰撞检测(如果需要):根据您的游戏逻辑,实现车辆与其他物体之间的碰撞检测,确保车辆在移动时正确响应碰撞情况。

请注意,由于缺乏具体的代码和问题细节,上述步骤仅供参考。如果您能提供更多的代码和问题信息,我将能够更具体地帮助您解决问题。祝您成功实现车辆移动的功能!如果您还有其他问题,请随时向我询问。

歌者文明清理员 发表于 2023-7-28 23:00:12

ok,已下载附件,正在分析代码

歌者文明清理员 发表于 2023-7-28 23:01:32

你这咋车动不了?

cjjJasonchen 发表于 2023-7-28 23:03:56

歌者文明清理员 发表于 2023-7-28 23:01
你这咋车动不了?

要按wasd

cjjJasonchen 发表于 2023-7-28 23:05:23

cjjJasonchen 发表于 2023-7-28 23:03
要按wasd

这个比较难,应该是算法问题,找了好久不知道问题出在哪里,effect库是目前没用的,只是恰好放在一起了

歌者文明清理员 发表于 2023-7-28 23:05:24

cjjJasonchen 发表于 2023-7-28 23:03
要按wasd

(狂按 wasd)
wasd 上下左右 整个键盘我都按过了

cjjJasonchen 发表于 2023-7-28 23:05:51

歌者文明清理员 发表于 2023-7-28 23:05
(狂按 wasd)
wasd 上下左右 整个键盘我都按过了

是不是没有切换输入法?

歌者文明清理员 发表于 2023-7-28 23:07:35

cjjJasonchen 发表于 2023-7-28 23:05
是不是没有切换输入法?

是的

微软你给我出来解释一下

cjjJasonchen 发表于 2023-7-28 23:08:13

歌者文明清理员 发表于 2023-7-28 23:07
是的

微软你给我出来解释一下

明天再想吧,今天太晚了,太晚睡对脑子不好

歌者文明清理员 发表于 2023-7-28 23:09:14

cjjJasonchen 发表于 2023-7-28 23:08
明天再想吧,今天太晚了,太晚睡对脑子不好

你这个程序没有问题呀

另外我大部分编程时间都是在晚上

cjjJasonchen 发表于 2023-7-28 23:10:25

歌者文明清理员 发表于 2023-7-28 23:09
你这个程序没有问题呀

另外我大部分编程时间都是在晚上

仔细看上面我发的图,轮子像上歪了

歌者文明清理员 发表于 2023-7-28 23:10:56

cjjJasonchen 发表于 2023-7-28 23:10
仔细看上面我发的图,轮子像上歪了

那不就是转弯了吗

cjjJasonchen 发表于 2023-7-28 23:12:59

歌者文明清理员 发表于 2023-7-28 23:10
那不就是转弯了吗

正常情况是左边和右边的轮子都看得见的,但是再横向移动(x轴方向)的时候只能看到更靠近y轴负方向的轮子
{:10_266:}

歌者文明清理员 发表于 2023-7-28 23:15:45

cjjJasonchen 发表于 2023-7-28 23:12
正常情况是左边和右边的轮子都看得见的,但是再横向移动(x轴方向)的时候只能看到更靠近y轴负方向的轮子 ...

调大轮子位置,轮子都被遮住了

歌者文明清理员 发表于 2023-7-28 23:30:07

解决了,是 carn.py 里 Car -> Body -> __init__ -> wheel_anchors 的 位置设置不当

sfqxx 发表于 2023-7-28 23:40:20

歌者文明清理员 发表于 2023-7-28 23:30
解决了,是 carn.py 里 Car -> Body -> __init__ -> wheel_anchors 的 位置设置不当

nb

Ewan-Ahiouy 发表于 2023-7-29 09:08:59

天啊,这么细节的吗{:10_257:}{:10_257:}必须点赞{:10_275:}

Parceltongue 发表于 2023-7-29 09:15:54

请问你用的是ursina吗
页: [1] 2
查看完整版本: pygame 模拟车辆移动的问题【高额悬赏】