gpt4 book ai didi

python - 测试图像碰撞 Pygame

转载 作者:行者123 更新时间:2023-12-01 04:05:06 25 4
gpt4 key购买 nike

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

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

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

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

但我被告知这只适用于矩形对象,我需要做什么?

我无法找到与图像碰撞相关的任何内容,这会对我的情况有所帮助,因此如果还有任何其他问题可以回答此问题,请告诉我。

最佳答案

基本上是这样的:

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

您用于此碰撞的图像必须仅包含轨道

如果轨迹是表面,track.get_at(x,y) 返回颜色值

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

我检查一个;透明度

关于python - 测试图像碰撞 Pygame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35731710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com