2013-05-03 24 views
5

Zaczynam eksplorować Pythona i Pygame, jednak napotykam problem. Wszystko, co rysuję na ekranie, jest wyświetlane tylko w lewym górnym rogu okna. Myślałem, że to mój kod, ale wszystkie programy demonstracyjne, które wypróbowałem, również wyświetlają się w ten sam sposób.Ekran wyświetla się tylko w lewym górnym rogu okna

Demo Kod z thenewboston na youtube

import pygame, sys 
from pygame.locals import * 

pygame.init() 

screen = pygame.display.set_mode((640,360),0,32) 

background = pygame.image.load("Background.jpg").convert() 
mouse_c = pygame.image.load("ball.png").convert_alpha() 

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

    screen.blit(background, (0,0)) 

    x,y = pygame.mouse.get_pos() 
    x -= mouse_c.get_width()/2 
    y -= mouse_c.get_height()/2 

    screen.blit(mouse_c, (x,y)) 

    pygame.display.update() 

W filmie jego wyświetla poprawnie i kopalnia wygląda to screenshot of game rendering only in the top left quarter of the screen

Zastosowanie:

  • Python 2.7.4 32 bit
  • pygame 1.9.1 32-bitowy
  • mac 10.8.3 64-bitowy na macbook pro retina

Myślę, że albo ma to związek z wyświetlaczem siatkówki, albo zainstalowałem coś nie tak. Każda pomoc będzie doceniona.

+0

działa doskonale na moim komputerze. Spróbuj zainstalować Pythona i Pygame od podstaw i zobacz, co się stanie (używając virtualenv). I nie, siatkówka nie ma z tym nic wspólnego. –

+0

Ciągle napotykam na ten sam problem po użyciu wirtualnego pythona – Sam

+0

spróbuj tego: 'screen.blit (mouse_c, (50,50))' jeśli to zadziała, to moduł myszy pigame nie działa poprawnie. –

Odpowiedz

5

Problem polega w rzeczywistości na rozdzielczości ekranu siatkówki. Aby pygame działało poprawnie, pobierz setresx i użyj go, aby ustawić rozdzielczość na dowolne ustawienie bez HiDPI. Kod

+0

Wielkie dzięki, pracuję nad moim starym komputerem miesiąc, ponieważ nie mogłem tego rozgryźć. Jestem w pracy, ale na pewno zrobię to, gdy wrócę do domu. – Sam

+0

Wielkie dzięki znowu. – Sam

Powiązane problemy