2013-05-03 56 views
5

Tôi bắt đầu khám phá Python và Pygame, tuy nhiên tôi đang gặp sự cố. Mọi thứ tôi vẽ ra màn hình chỉ được hiển thị ở phần trên bên trái của cửa sổ. Tôi nghĩ đó là mã của tôi nhưng bất kỳ chương trình demo nào tôi đã thử cũng hiển thị theo cùng một cách.Màn hình chỉ hiển thị ở góc trên cùng bên trái của cửa sổ

đang Demo từ thenewboston trên 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() 

Trong video màn hình của mình một cách chính xác và tôi trông như thế này screenshot of game rendering only in the top left quarter of the screen

Sử dụng:

  • Python 2.7.4 32 bit
  • pygame 1.9.1 32 bit
  • mac 10.8.3 64 bit trên macbook pro retina

Tôi nghĩ rằng nó có liên quan đến màn hình hiển thị võng mạc hoặc tôi đã cài đặt một cái gì đó sai. Bất kỳ trợ giúp sẽ được đánh giá cao.

+0

mã hoạt động tốt trên máy của tôi. Hãy thử cài đặt python và pygame từ đầu và xem điều gì xảy ra (sử dụng virtualenv). Và không có, võng mạc không có gì để làm với nó. –

+0

Tôi vẫn chạy vào cùng một vấn đề sau khi sử dụng python virtualenv – Sam

+0

thử điều này: 'screen.blit (mouse_c, (50,50))' nếu điều này sẽ hoạt động, thì mô-đun chuột pygame không hoạt động đúng cách. –

Trả lời

5

Vấn đề là, trên thực tế, với độ phân giải của màn hình võng mạc. Để làm cho pygame hoạt động chính xác, hãy tải xuống setresx và sử dụng nó để đặt độ phân giải của bạn thành bất kỳ cài đặt nào không có HiDPI.

+0

Cảm ơn rất nhiều, tôi đã làm việc trên máy tính cũ của mình cho một tháng vì tôi không thể hình dung ra điều này. Tôi đang làm việc nhưng tôi chắc chắn sẽ cung cấp cho tôi một shot khi tôi về nhà. – Sam

+0

Cảm ơn rất nhiều lần nữa. – Sam

Các vấn đề liên quan