Python 3.4.0을 사용하고 있으며 Mac OSX 10.9.2가 있습니다. Sublime Text에 sublimePygame으로 저장된 다음 코드가 있습니다.
import pygame, sys
from pygame.locals import *
pygame.init()
#set up the window
DISPLAYSURF = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Drawing')
# set up the colors
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = ( 0, 255, 0)
BLUE = ( 0, 0, 255)
# Draw on surface object
DISPLAYSURF.fill(WHITE)
pygame.draw.polygon(DISPLAYSURF, GREEN, ((146, 0), (291, 106), (236, 277), (56, 277), (0, 106)))
pygame.draw.line(DISPLAYSURF, BLUE, (60, 60), (120, 60), 4)
pygame.draw.line(DISPLAYSURF, BLUE, (120, 60), (60, 120))
pygame.draw.line(DISPLAYSURF, BLUE, (60, 120), (120, 120), 4)
pygame.draw.circle(DISPLAYSURF, BLUE, (300, 50), 20, 0)
pygame.draw.ellipse(DISPLAYSURF, RED, (300, 250, 40, 80), 1)
pygame.draw.rect(DISPLAYSURF, RED, (200, 150, 100, 50))
pixObj = pygame.PixelArray(DISPLAYSURF)
pixObj[480, 380] = BLACK
pixObj[482, 382] = BLACK
pixObj[48, 384] = BLACK
pixObj[486, 386] = BLACK
pixObj[488, 388] = BLACK
del pixObj
while True: # main game loop
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
pygame.display.update()
터미널에서 코드를 실행했고 파이썬 창이 잠시 열렸다가 닫혔습니다.
터미널에서이 오류가 발생했습니다.
Traceback (most recent call last):
File "sublimePygame", line 29, in <module>
pixObj[480, 380] = BLACK
IndexError: invalid index
Segmentation fault: 11
나는 파이 게임 문서를 확인했고 내 코드는 괜찮아 보였다. 나는 오류를 검색했고 Segmentation Error 11 은 파이썬의 버그로 보이지만 파이썬 3.4.0에서 수정되었다고 읽었습니다.
누구든지 무엇이 잘못되었는지 알고 있습니까?
미리 감사드립니다!
편집 : Marius는 내 프로그램에서 버그를 찾았지만 실행하면 빈 Python 창이 열리고 상단 열림이 열리지 않습니다. 왜 이런 일이 일어 났는지 아는 사람이 있습니까?
코드에서 확실한 버그를 볼 수 있지만 이것이 더 심각한 오류 인 세분화 오류를 일으키는 지 확실하지 않습니다.
코드의 버그는 400x300 창을 만드는 것입니다.
DISPLAYSURF = pygame.display.set_mode((400, 300))
그런 다음 해당 창의 경계를 벗어난 픽셀에 대한 색상 값을 설정해보십시오.
pixObj[480, 380] = BLACK
다시 말하지만 이것은 분할 오류를 일으키지 않을 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다