Добрый день! У вас очень классные видеоуроки, материал, подача и качество этого материала. Разместите пожалуйста где-нибудь ссылку на донат для разовых донатов (хоть Яндекс, хоть любой другой вид), для тех, у кого нет возможности спонсировать через RUclips! Еще раз спасибо!
0:11 встроенный модуль для работы со шрифтами 0:19 класс SysFont 0:29 класс Font 0:50 функция get_fonts() 0:55 функция match_font() 1:05 пример 1:20 как работает пример 1:34 как использовать шрифты в программе 1:52 загрузить свой собственный шрифт 2:38 пример, формируем главное окно 2:43 fps, цвета 2:55 загружаем шрифт 3:19 отображаем текст с нужным шрифтом 3:51 отображаем поверхность 4:12 рисуем текст 4:37 главный цикл 4:46 как работает пример, текст с фоном 5:04 прозрачный фон для текста 5:16 как работает пример, текст без фона 5:21 за что отвечает параметр 1 5:35 как работает пример, текст без сглаживания 6:17 шрифт по умолчанию используемый в pygame 6:34 как работает пример, стандарт шрифт размер 24 6:42 как работает пример, стандарт шрифт размер 48 6:51 как работает пример, стандарт шрифт без сглаживания 7:27 пример, перемещение текста с помощью мышки 10:29 зачем вызываем get_rel() 11:24 как работает пример, перемещение с помощью мыши 11:42 пример без нескольких строк 11:52 как работает пример, баг
спасибо за урок. только не понимаю, зачем проверять находится ли курсор в клиентском окне, потому что если уж он внутри прямоугольника с текстом - он по-любому и внутри окна этого)
Что бы вывести текст на экран, надо написать 50 строк кода. А как обработать текстовое поле - это вообще страшная тайна. Для этого понадобится дополнительная библиотека, 5 классов и не менее 100 строк кода. Наверное Python чемпион среди других языков в этом плане. Для начинающих самое то.
вы не совсем правы. В данном видео вывод текста на экран осуществляется с помощью библиотеки pygame, а не чистого пайтона. И если говорить в таком контексте, то можно использовать Tkinter или pyqt5 для вывода текста, там попроще Вы же не судите о сложностях языка исключительно по одному фактору - тому, как выводится текст на экран? Потому что это не приоритетные задачи пайтона, к тому же, есть вспомогательные библиотеки, если вам нужно только выводить текст. И как раз таки пайтон для новичка - действительно - самое то, так как он имеет очень низкий порог вхождения, отчего новичку, далёкому от программирования, будет легче начать изучать пайтон, чем языки С или джава скрипт или бейсик и что угодно. Пайтон простой язык и элегантный, и его синтаксис, отсутствие необходимости объявлять тип переменных, ставить точки с запятыми, писать каждый раз для цикла конструкции, типа: for (let i = 0; i < 3; i++) и всё остальное - это упрощает начало обучения, если это первый язык. А сложные языки могут отпугнуть новичков, отчего они бросят его изучать. И я не думаю, что новички первым делом стремятся выводить текст на экран, когда каждый пятый, наверное, чуть ли не с самого начала пытается создать свою игру или написать нейронную сеть )) И вообще, пайтон больше подходит для создания нейросетей, анализа данных - где его преимущественно и используют из-за его простоты и возможности написать один и тот же код на пайтоне быстрее, чем на других языках. А вы тут про сложность вывода текста =) text_example = 'Разве 50 строк кода?' text_size = 34 font = pg.font.SysFont('arial', text_size) some_text = font.render(text_example, 1, 'black') text = some_text.get_rect() text.center = screen_rect.center screen.fill(bg_color) screen.blit(some_text, text) pg.display.update() это похоже на 50 строк кода?
У меня текст с торможениями перемещался. Но если убрать дополнительную проверку (... and pos.collidepoint(pygame.mouse.get_pos())), то проблемы сразу исчезнут, правда текст в таком случае можно будет выбирать в любой точке окна...
Это недоработка кода, система в видео не идеальна. Я придумал такой вариант решения проблемы: import pygame pygame.init() def main(): W,H = 400,400 screen = pygame.display.set_mode((W,H)) pygame.display.set_caption("Fonts") clock = pygame.time.Clock()
Можете мне пожалуйста помочь, мне нужно чтобы при каком-то действии текст менялся, но когда он менется, то там просто 2 текста друг на друге, как это исправить?
Лучше бы вместо того чтобы копировать и вставлять код, сам бы его писал, пока переписываешь код сквозь уши проходят все слова, а если ставишь на паузу и начинаешь код переписывать то всё равно ничего не понимаешь, надо чтобы вы писали код сами и рассказывали что он значит, было бы намного понятнее!
Можно было бы держать этот комментарий при себе. И откуда такие чудаки на букву м берутся, вам реально в детстве наверное забыли рассказать о таких понятиях как тактичность и уважение.
Добрый день! У вас очень классные видеоуроки, материал, подача и качество этого материала. Разместите пожалуйста где-нибудь ссылку на донат для разовых донатов (хоть Яндекс, хоть любой другой вид), для тех, у кого нет возможности спонсировать через RUclips! Еще раз спасибо!
Спасибо за высокую оценку, обязательно размещу что-нибудь помимо спонсорства!
0:11 встроенный модуль для работы со шрифтами
0:19 класс SysFont
0:29 класс Font
0:50 функция get_fonts()
0:55 функция match_font()
1:05 пример
1:20 как работает пример
1:34 как использовать шрифты в программе
1:52 загрузить свой собственный шрифт
2:38 пример, формируем главное окно
2:43 fps, цвета
2:55 загружаем шрифт
3:19 отображаем текст с нужным шрифтом
3:51 отображаем поверхность
4:12 рисуем текст
4:37 главный цикл
4:46 как работает пример, текст с фоном
5:04 прозрачный фон для текста
5:16 как работает пример, текст без фона
5:21 за что отвечает параметр 1
5:35 как работает пример, текст без сглаживания
6:17 шрифт по умолчанию используемый в pygame
6:34 как работает пример, стандарт шрифт размер 24
6:42 как работает пример, стандарт шрифт размер 48
6:51 как работает пример, стандарт шрифт без сглаживания
7:27 пример, перемещение текста с помощью мышки
10:29 зачем вызываем get_rel()
11:24 как работает пример, перемещение с помощью мыши
11:42 пример без нескольких строк
11:52 как работает пример, баг
Огромное спасибо
спасибо за урок. только не понимаю, зачем проверять находится ли курсор в клиентском окне, потому что если уж он внутри прямоугольника с текстом - он по-любому и внутри окна этого)
Чел ты лучший
Что бы вывести текст на экран, надо написать 50 строк кода. А как обработать текстовое поле - это вообще страшная тайна. Для этого понадобится дополнительная библиотека, 5 классов и не менее 100 строк кода. Наверное Python чемпион среди других языков в этом плане. Для начинающих самое то.
вы не совсем правы. В данном видео вывод текста на экран осуществляется с помощью библиотеки pygame, а не чистого пайтона. И если говорить в таком контексте, то можно использовать Tkinter или pyqt5 для вывода текста, там попроще
Вы же не судите о сложностях языка исключительно по одному фактору - тому, как выводится текст на экран? Потому что это не приоритетные задачи пайтона, к тому же, есть вспомогательные библиотеки, если вам нужно только выводить текст.
И как раз таки пайтон для новичка - действительно - самое то, так как он имеет очень низкий порог вхождения, отчего новичку, далёкому от программирования, будет легче начать изучать пайтон, чем языки С или джава скрипт или бейсик и что угодно.
Пайтон простой язык и элегантный, и его синтаксис, отсутствие необходимости объявлять тип переменных, ставить точки с запятыми, писать каждый раз для цикла конструкции, типа:
for (let i = 0; i < 3; i++)
и всё остальное - это упрощает начало обучения, если это первый язык. А сложные языки могут отпугнуть новичков, отчего они бросят его изучать.
И я не думаю, что новички первым делом стремятся выводить текст на экран, когда каждый пятый, наверное, чуть ли не с самого начала пытается создать свою игру или написать нейронную сеть ))
И вообще, пайтон больше подходит для создания нейросетей, анализа данных - где его преимущественно и используют из-за его простоты и возможности написать один и тот же код на пайтоне быстрее, чем на других языках.
А вы тут про сложность вывода текста =)
text_example = 'Разве 50 строк кода?'
text_size = 34
font = pg.font.SysFont('arial', text_size)
some_text = font.render(text_example, 1, 'black')
text = some_text.get_rect()
text.center = screen_rect.center
screen.fill(bg_color)
screen.blit(some_text, text)
pg.display.update()
это похоже на 50 строк кода?
А можно ли спомощью текста перемещаться на другую цену со звуком и картинкой ?
Можно ли в главном цикле, создать ещё один цикл while? Просто когда я создаю цикл внутри цикла окно зависает
Конечно, можно, только этот вложенный цикл не должен быть бесконечным )
@@selfedu_rus спасибо
У меня текст с торможениями перемещался. Но если убрать дополнительную проверку (... and pos.collidepoint(pygame.mouse.get_pos())), то проблемы сразу исчезнут, правда текст в таком случае можно будет выбирать в любой точке окна...
Это недоработка кода, система в видео не идеальна. Я придумал такой вариант решения проблемы:
import pygame
pygame.init()
def main():
W,H = 400,400
screen = pygame.display.set_mode((W,H))
pygame.display.set_caption("Fonts")
clock = pygame.time.Clock()
font_sys = pygame.font.SysFont("arial", 24)
text = font_sys.render("SomeText", True, (255,0,0))
text_pos = text.get_rect(center=(W / 2,H / 2))
def draw_text():
screen.fill((255,255,255))
screen.blit(text, text_pos)
draw_text()
harassment = False
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
btns = pygame.mouse.get_pressed()
if btns[0]:
if text_pos.collidepoint(pygame.mouse.get_pos()) and not harassment:
pygame.mouse.get_rel()
harassment = True
elif harassment:
rel = pygame.mouse.get_rel()
text_pos.move_ip(rel)
draw_text()
else:
harassment = False
screen.fill((255,255,255))
draw_text()
pygame.display.update()
clock.tick(144)
if __name__ == "__main__":
main()
Можете мне пожалуйста помочь, мне нужно чтобы при каком-то действии текст менялся, но когда он менется, то там просто 2 текста друг на друге, как это исправить?
Я бы попробовал инициализировать текст прямиком в основном цикле и там же его редачить
Это конечно оочеень интересно но как вместо текста вывести переменную?
Передать в функцию f"{ваша_переменная}" или str(ваша_переменная)
import pygame
pygame.init()
sc = pygame.display.set_mode((400, 500))
black, white = (0, 0, 0), (255, 255, 255)
value = 16
font = pygame.font.SysFont("georgia", 16)
text = font.render(f"{value}", 1, black, white)
pos = text.get_rect(center = (200, 250))
sc.fill(white)
sc.blit(text, pos)
pygame.display.flip()
clock = pygame.time.Clock()
while 1:
clock.tick(60)
Лучше бы вместо того чтобы копировать и вставлять код, сам бы его писал, пока переписываешь код сквозь уши проходят все слова, а если ставишь на паузу и начинаешь код переписывать то всё равно ничего не понимаешь, надо чтобы вы писали код сами и рассказывали что он значит, было бы намного понятнее!
Сам учи синтаксис, пиши и повторяй
Всё прекрасно, но фыпилявость порой выкумаривает, простите.
Можно было бы держать этот комментарий при себе. И откуда такие чудаки на букву м берутся, вам реально в детстве наверное забыли рассказать о таких понятиях как тактичность и уважение.
@@wrestler91100 Как раз тебе и забыли рассказать про тактичность и уважение...