2016-01-16 2 views
2

Вот пример моего кода:Столкновение вопрос в Pygame

if not pygame.sprite.collide_rect(yolo,blocks): 



    screen.blit(moonCollect, [randomListX[i]-stageBackground_x, randomListY[i]]) 

У меня есть два спрайта и сейчас только ПОКА они сталкиваются, moonCollect исчезает. Как я могу исправить логику, чтобы moonCollect не появлялся ВО ВРЕМЯ И ПОСЛЕ коллизии?

Оцените любую помощь и скажите мне, если я неясен.
Благодаря

ответ

0

Если я правильно понимаю ваш вопрос, то:

if pygame.sprite.collide_rect(yolo,blocks): 

должны исправить эту проблему.

Edit: (это, вероятно, не так, как ты выразился заставил меня думать, что вы хотели противоположное случиться)

+0

это не исправит его проблему, это приведет к тому, что объект будет отображаться КОГДА он сталкивается – Ryan

1

можно создать переменную для представления, если луна когда-либо сталкивались с объектом

isMoon = false 
if pygame.sprite.collide_rect(yolo,blocks): 
    isMoon = true 

//when rendering 
if (isMoon == false): 
    screen.blit(moonCollect, [randomListX[i]-stageBackground_x, randomListY[i]]) 

Таким образом, даже если ваш moonCollect не сталкивается с объектом, но в прошлом он не будет отображаться.