2014-06-11 2 views
0

저는 2D 타일 기반 플랫폼 작성기를 만들어 파이썬과 파이 게임을 배우려고합니다. 지금은 "타일 기반"부분에 붙어 있습니다.Pygame AttributeError no attribute 'display'

Traceback (most recent call last): 
    File "C:\Users\dementeddr\workspace\TheWaterIsRising\src\default\RisingMain.py", line 59, in <module> 
    screen.display.flip() 
AttributeError: 'pygame.Surface' object has no attribute 'display' 

내가 주변에 검색 좀하지 봤는데, 다른 속성의 오류를 많이 본 적이 있지만 아무것도에 대해 : 내가 코드를 실행하면

import pygame, sys 
from pygame.locals import * 

#Just defining some variables 
windowWidth = 640 
windowHeight = 480 
mapWidth = windowWidth // 32 
mapHeight = windowHeight // 32 
tilesize = 32 
speed = [1, 1] #Array/List declaration 
black = (0,0,0) #Tuple declaration 

#intended to create a 2d list of subsurfaces  
def create_map(): 
    floor = pygame.image.load("rect_gray0.png") 
    map = [] 
    for x in range(mapWidth): 
     line = [] 
     map.append(line) 
     for y in range(mapHeight): 
      line.append(floor.subsurface((0,0,tilesize,tilesize))) 

    return map 


if __name__ == '__main__': 

    pygame.init() 
    print("Initializing") 

    screen = pygame.display.set_mode((windowWidth, windowHeight)) 
    map = create_map() 

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

     screen.fill(black) 

     for x in range(mapWidth): 
      for y in range(mapHeight): 
       #for each subsurface in the map, blit it to the screen. 
       tile = map[x][y] 
       screen.blit(tile, (x*tilesize, y*tilesize)) 

     screen.display.flip() 

, 그것은 나에게 오류를 제공합니다 : 이것은 내 코드입니다 'display'속성. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

1

오류 메시지는 당신이 알아야 할 모든 것을 알려줍니다

Traceback (most recent call last): 
    File "C:\Users\dementeddr\workspace\TheWaterIsRising\src\default\RisingMain.py", line 59, in <module> 
    screen.display.flip() 

위의 부분은 문제가

screenscreen.display.flip()

AttributeError: 'pygame.Surface' object has no attribute 'display' 
유형 pygame.Surface,이다 발생한 코드의 정확한 라인을 보여줍니다한다 display 속성이 없으므로 무언가 잘못되었습니다. http://www.pygame.org/docs/tut/intro/intro.html과 같은 튜토리얼을 보면 대신 pygame.display.flip()을 호출해야한다는 것을 알 수 있습니다. 해당 줄을 바꾸어 실행되는지 확인하십시오.

행운을 빌어 요. 행운을 빌어 요.

+0

Perfect. 좋아 고마워. 어리석은 것은 이것에 대한 튜토리얼을 벗어날 것이 었습니다. 내 코드를 수정하는 동안 그것을 쓴 것 같아요. – DementedDr

관련 문제