2013-05-03 72 views
5

我開始探索Python和Pygame,但是我遇到了問題。我畫到屏幕上的所有內容都只顯示在窗口的左上角。我認爲這是我的代碼,但我嘗試的任何演示程序也顯示相同的方式。從thenewboston 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() 

演示代碼在視頻中他的正確顯示和我看起來是這樣的 screenshot of game rendering only in the top left quarter of the screen

使用:

  • 的Python 2.7.4 32位
  • pygame 1.9.1 32位
  • mac 10.8.3 MacBook Pro上的64位視網膜

我想或者它與視網膜顯示有關,或者我安裝了錯誤的東西。任何幫助,將不勝感激。

+0

代碼在我的機器上效果很好。嘗試從頭開始安裝python和pygame,看看會發生什麼(使用virtualenv)。 不,視網膜與它無關。 – 2013-05-03 22:38:01

+0

使用virtualenv python – Sam 2013-05-03 23:26:28

+0

後,我仍然遇到同樣的問題試試這個:'screen.blit(mouse_c,(50,50))'如果這樣會起作用,那麼pygame鼠標模塊工作不正常。 – 2013-05-03 23:56:17

回答

5

問題是,事實上,視網膜屏幕的分辨率。爲了讓pygame正常工作,請下載setresx並使用它將您的分辨率設置爲沒有HiDPI的任何設置。

+0

非常感謝,我一直在爲舊計算機工作一個月,因爲我無法弄清楚這一點。我在工作,但當我回家時我肯定會這樣做。 – Sam 2013-06-24 06:34:10

+0

再次感謝。 – Sam 2013-06-24 21:11:40