मैंने अभी PyGame का उपयोग करना शुरू किया है और मैं यह पता लगाने की कोशिश कर रहा हूं कि टेक्स्ट को क्षैतिज और / या लंबवत रूप से कैसे फ़्लिप किया जाए, लेकिन अब तक, कोई भाग्य नहीं है। यहाँ मेरा कोड अब तक है:

import pygame, sys, datetime, os
from pygame.locals import *
os.environ['SDL_VIDEO_CENTERED'] = '1'
now = datetime.datetime.now()
dateoftime = (now.strftime("%d-%m-%Y"))

pygame.init()

screen = pygame.display.set_mode((768, 768), pygame.NOFRAME)
clock = pygame.time.Clock()
White=(255,255,255)
Black=(0,0,0)
basicfont = pygame.font.SysFont('pricedown', 100)
text = basicfont.render((dateoftime), True, White, Black)
textrect = text.get_rect()
textrect.centerx = screen.get_rect().centerx
textrect.centery = screen.get_rect().centery

pygame.transform.flip(screen,True,False)

screen.fill(Black)
screen.blit(text, textrect)
pygame.display.update()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
clock.tick(50)

एक और चीज जो मैं करना चाहता था वह टेक्स्ट को केंद्र में रखता है लेकिन इसके लिए y मान बदल देता है। उदाहरण के लिए, x मान को केंद्र के रूप में रखें (textrect से परिकलित) लेकिन y मान को 200 या 600 में बदलें। उसी के लिए जब मैं x मान बदलना चाहता हूं। साथ ही, वर्तमान समय दिखाने के लिए मुझे किन हिस्सों को बदलने की आवश्यकता है, (एच: एम: एस) जो हर सेकेंड अपडेट होता है। मैंने "घड़ी.समय (50)" में राशि बदलने की कोशिश की, लेकिन इससे कटौती नहीं हुई।

यदि इसमें सामान्य रूप से कोई त्रुटि है, तो सुधार की सराहना की जाएगी। धन्यवाद।

0
A.J 12 अप्रैल 2018, 18:52

1 उत्तर

सबसे बढ़िया उत्तर

इसे प्रस्तुत करने के बाद बस टेक्स्ट को फ़्लिप करें। पहले pygame.transform.flip(screen,True,False) को हटा दें और फिर एक text = pygame.transform.flip(text, True, False) को रेंडर करने के ठीक बाद जोड़ें:

import pygame, sys, datetime, os
from pygame.locals import *

os.environ['SDL_VIDEO_CENTERED'] = '1'
now = datetime.datetime.now()
dateoftime = (now.strftime("%d-%m-%Y"))

pygame.init()

screen = pygame.display.set_mode((768, 768), pygame.NOFRAME)
clock = pygame.time.Clock()
White=(255,255,255)
Black=(0,0,0)
basicfont = pygame.font.SysFont('pricedown', 100)
text = basicfont.render((dateoftime), True, White, Black)
# ADDED!
text = pygame.transform.flip(text, True, False)  # Flip the text vertically.
textrect = text.get_rect()
textrect.centerx = screen.get_rect().centerx
textrect.centery = screen.get_rect().centery

#pygame.transform.flip(screen,True,False)  # Get rid of this.

screen.fill(Black)
screen.blit(text, textrect)
pygame.display.update()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
clock.tick(50)
1
martineau 12 अप्रैल 2018, 16:48