Белая коробка в пигаме - PullRequest
       5

Белая коробка в пигаме

0 голосов
/ 04 сентября 2018

Довольно понятно. Мой спрайт не появляется и есть просто белая коробка. Я использую Ubuntu 18.04.1 LTS и версию Pygame 1.9.3 Я использую код из раздела Программирование raspberry pi Симона Монка на стр. 107, если вам интересно

import pygame
from pygame.locals import *
from sys import exit

spoon_x = 300
spoon_y = 300

pygame.init()

screen = pygame.display.set_mode((600,400))
pygame.display.set_caption('Raspberry Catching')

spoon = pygame.image.load('/home/john/PycharmProjects/pygame/spoon.png').convert()

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
                exit()

    screen.fill((255,255,255))
    spoon_x, ignore = pygame.mouse.get_pos()
    screen.blit(spoon, (spoon_x, spoon_y))
    pygame.display.update()

ложка тест

1 Ответ

0 голосов
/ 04 сентября 2018

Ваше изображение очень большое и содержит много белых областей, поэтому, если вы перетянете его на координате y, вы увидите только часть верхней белой области, а ложка окажется где-то под экраном. Вы можете увидеть ложку, если поменяете spoon_y на -300.

Я предлагаю обрезать (удаляя большую часть белых областей вокруг ложки) и масштабировать изображение в графическом редакторе.

Вы также можете использовать pygame.Surface.subsurface, чтобы обрезать поверхность в Pygame:

spoon_cropped = spoon.subsurface((295, 357, 1208, 273))

Или создайте другую поверхность и перетяните на нее первую поверхность:

spoon_cropped = pygame.Surface((1208, 273))
# The third argument is the area that comprises the spoon.
spoon_cropped.blit(spoon, (0, 0), (295, 357, 1208, 273))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...