Я довольно новичок в pygame и задавался вопросом, как я могу выбрать положение, где будет отображаться это текстовое поле, потому что сейчас он всегда отображает текстовое поле в том же положении. В идеале я бы назвал функцию так: "function("Hi, how are you", (x,y))
, хотя я не уверен, как это реализовать.Как установить позицию отображения этого текстового поля?
(Я огляделся, и я не могу найти ответы на stackoverflow
или reddit
и ничего не нашел).
def textBox(Question, Position):
#screen.fill((255,255,255))# fill the screen w/ white
question = eztext.Input(maxlength=100, color=black, prompt=Question)#Create an input with max length 45.
clock = pygame.time.Clock() # create the pygame clock
run = True
while run == True:
clock.tick(30) # make sure the program is running at 30 fps
events = pygame.event.get() # events for txtbx
for event in events:
if event.type == QUIT: # close it if x button is pressed
return
if event.type == KEYDOWN:
if event.key == K_RETURN:
textBox.userResponse = question.value
run = False
screen.fill((255,255,255)) # clear the screen
question.update(events) # update txtbx
question.draw(screen) # blit txtbx on the sceen
pygame.display.flip() # refresh the display
Я вижу, что вы используете eztext. Я мало знаю об этом, но я знаю, что было бы полезно, если бы вы его явно не использовали. Я бы сам создал библиотеку текстовых полей (это очень легко, поверьте мне). Если вы затем используете screen.blit для размещения результирующей поверхности, вы можете указать координаты. Взгляните на документацию pygame.font! – Douglas