πŸ”Ž Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ blit Π² Python? ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ для сСбя возмоТности этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ!

Π’ Python функция blit() являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° повСрхности (surface), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для копирования пиксСлСй ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ повСрхности Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для отобраТСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, обновлСния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ ΠΈ создания спрайтов Π² ΠΈΠ³Ρ€Π°Ρ….

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ blit() для копирования изобраТСния Π½Π° ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ:


   import pygame

   pygame.init()

   screen = pygame.display.set_mode((800, 600))
   image = pygame.image.load("image.png")
   image_rect = image.get_rect()
   screen.blit(image, image_rect)

   pygame.display.update()
   

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Π‘Π»ΠΈΡ‚: Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅

Π‘Π»ΠΈΡ‚ - это функция, которая доступна Π² Python для Π²Ρ‹Π²ΠΎΠ΄Π° символов Π½Π° экран. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ тСкстовыС прилоТСния. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΈΡ‚ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ возмоТности ΠΎΠ½Π° прСдоставляСт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π±Π»ΠΈΡ‚Π°

Для Π½Π°Ρ‡Π°Π»Π°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π±Π»ΠΈΡ‚Π°. Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ вывСсти Π½Π° экран привСтствиС:


blit("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!")

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ вывСсти Π½Π° экран Ρ„Ρ€Π°Π·Ρƒ "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!". ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Настройка Π±Π»ΠΈΡ‚Π°

Π‘Π»ΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

  • Π¦Π²Π΅Ρ‚: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста. НапримСр, blit("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!", color="red") Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ тСкст красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ.
  • Π Π°Π·ΠΌΠ΅Ρ€: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°. НапримСр, blit("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!", size=20) Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ тСкст ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 20.
  • ПолоТСниС: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° тСкста. НапримСр, blit("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!", x=10, y=20) Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ тСкст Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (10, 20).

Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· возмоТностСй настройки Π±Π»ΠΈΡ‚Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π²Π°ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π±Π»ΠΈΡ‚ΠΎΠΌ

Π‘Π»ΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ наТатия клавиш ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ…. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


while True:
    event = get_event()
    if event == "left":
        blit("Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²Π»Π΅Π²ΠΎ!")
    elif event == "right":
        blit("Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²ΠΏΡ€Π°Π²ΠΎ!")
    elif event == "quit":
        break

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ бСсконСчно выполняСм Ρ†ΠΈΠΊΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ провСряСм событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ. Если Π½Π°ΠΆΠ°Ρ‚Π° клавиша Π²Π»Π΅Π²ΠΎ, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС "Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²Π»Π΅Π²ΠΎ!". Если Π½Π°ΠΆΠ°Ρ‚Π° клавиша Π²ΠΏΡ€Π°Π²ΠΎ, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС "Π’Ρ‹ Π½Π°ΠΆΠ°Π»ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²ΠΏΡ€Π°Π²ΠΎ!". Если Π½Π°ΠΆΠ°Ρ‚Π° клавиша Π²Ρ‹Ρ…ΠΎΠ΄Π°, ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅ΠΌ Ρ†ΠΈΠΊΠ».

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±Π»ΠΈΡ‚ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘Π»ΠΈΡ‚ - это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Π²Ρ‹Π²ΠΎΠ΄Π° тСкста Π² Python. Он позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ тСкста. ΠœΡ‹ рассмотрСли ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π±Π»ΠΈΡ‚Π° ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π΅Π³ΠΎ возмоТностСй настройки. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π±Π»ΠΈΡ‚ΠΎΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои собствСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ повСрхностСй (Surface) ΠΈ ΠΈΡ… анимация. ΠœΠ΅Ρ‚ΠΎΠ΄ blit | Pygame #5

Разнёс Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄ Π·Π° 15 сСкунд. Π§Π°ΡΡ‚ΡŒ 1 #ΠΊΠΎΠ΄ #Π°ΠΉΡ‚ΠΈ #ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ #Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

#24. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ iter() ΠΈ next() | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

🐧Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Линукс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΈΡ‚ΠΎΠ½Π°πŸ

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° time Π² Python? πŸ•’

πŸ”₯Как Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² JSON Python - ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ Π² 2021 Π³ΠΎΠ΄Ρƒ

πŸ”Ž Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ blit Π² Python? ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ для сСбя возмоТности этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ!

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° Windows?

πŸ”’ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список случайных чисСл Π² Python | ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ руководство

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ° массива Python?