Я знаю, когда я нахожусь в диапазоне X и Y

Я делал игру, и теперь я хочу посмотреть, как Pygame узнает, что я в х игроке и у игрока.

Я должен взломать сейф, чтобы сделать это, я должен стоять там, где он есть, и оставаться там в течение 3 секунд.

проблема даже в том, что мне удалось предупредить пигмея о том, что я нахожусь в безопасном месте, как пигмей мог знать, что я в безопасности в течение 3 секунд.

Это неоптимально:

import time
now = time.time()
future = now + 3
while future > now:
    #IT DOESNT WORK WELL IN WHILE LOOP TO ALERT YA,

Есть ли лучшее решение?

1 ответ

Что вы могли бы сделать, чтобы "предупредить" Pygame / ваш код, вы могли бы использовать if заявления, если вы используете не-ООП и все, что у вас есть, это список координат для вашего местоположения игрока, или если у вас есть объект для вашего игрока, вы могли бы pygame.sprite.Sprite как супер класс. Вот решение, если вы используете список координат, а не большой класс.

loc = [x, y]  # Don't run this because it won't understand what x and y are. This is just an example
safe_rect = ( x , y , w , h ) # Using tuple because I assume that the safe doesn't move

while True:
    if loc[0] >= safe_rect[0] and   # The newlines are for readability
       loc[0] < safe_rect[0] + safe_rect[2] and
       loc[1] >= safe_rect[1] and
       loc[1] < safe_rect[1] + safe_rect[3]:
        not_yet_existent_do_something_function()  # Performs statements once inside the safe

Если вы хотите включить таймер, сделайте это:

import time
loc = [x, y]
safe_rect = ( x , y , w , h   )
# Time variables
time = time.time()
time_wanted = time + 3  # 3 seconds after the time is assigned to time

while True:
    if loc[0] >= safe_rect[0] and 
       loc[0] < safe_rect[0] + safe_rect[2] and
       loc[1] >= safe_rect[1] and
       loc[1] < safe_rect[1] + safe_rect[3]:
        if time.time() > time_wanted:
            not_yet_existent_do_something_function()

Я надеюсь, что это работает для вас, если у вас есть вопрос о том, что я сделал, пожалуйста, спросите меня.

Другие вопросы по тегам