图像碰撞测试

2024-09-27 17:55:45 发布

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

我正在做一个基本的赛车游戏,希望赛车在赛道上跑得更快,在草地上跑得慢一些。我有两个单独的图像来创建背景,一个是轨迹,另一个是图像的其余部分。Track

我有一个可以在屏幕上移动的汽车精灵,但是当测试碰撞时,我不知道该怎么做。我试过了:

track = track = SCREEN.blit(track, (0, 0))

if track.colliderect(car):
    speed += 1.5
else:
    speed += 0.5

但我听说这只适用于矩形物体,我需要做什么?在

我没有找到任何与图像碰撞相关的东西,这对我的情况有帮助,所以如果有其他问题可以回答,请告诉我。在


Tags: 图像游戏if屏幕轨迹trackscreen汽车
1条回答
网友
1楼 · 发布于 2024-09-27 17:55:45

基本上是这样的:

def isOnTrack(track,car):
    #one corner; a is alpha, the transparency
    #If a is 0 that means completely transparent
    if track.get_at(car.x,car.y).a==0:
        return false

    #do this for all four corners of car

    return true

用于此碰撞的图像只能包含轨迹

在跟踪。获取(x,y)如果轨迹是曲面,则返回颜色值

颜色有4个字段,r g b a

我检查透明度

相关问题 更多 >

    热门问题