2008-10-26 7 views

답변

5

pygame은 SDL 인터페이스를 상당히 많이 추상화 했으므로 많은 이점이 있다고 생각하지 않습니다.

6

SDL 기반 환경에서 게임 로직 등을 구현하는 방법을 배울 수 있지만 C++/SDL로 이동 한 후에는 SDL 기능을 직접 사용해야하므로 pyGame의 도우미 기능/객체가 완전히 사용됩니다.

5

. 파이썬이 C++보다 훨씬 자연 스럽다면 먼저 파이 게임을 배우는 것이 좋습니다. SDL 및 C를 사용하여 마이그레이션 할 때는 번역 프로세스를 거쳐야하지만 일대일 매핑이 더 많거나 적어야합니다.

1

시도해 볼 수 있습니다 pyglet OpenGL에서 타겟팅하는 경우. 파이 게임보다 라이브러리에 대한 생각이 훨씬 낫습니다.

그러나 향후 C++ 및 SDL로 이전하려면 지금하십시오. 그렇게하면 실제로 SDL을 배우게됩니다. 그런 무책임한 일을하기 전에 먼저 pyglet을 확인하는 것이 좋습니다. 라이브러리가 얼마나 나쁜지에 관계없이 C++로 앱을 적절히 설계해야하기 때문입니다.

3

물론. 당신은 정말 적은 시간에 sdl 게임이나 도구를 작성할 수 있습니다.

당신은 468x60 크기의 화면에/chimp.bmp 데이터를 표시이 코드를 시작할 수 있습니다

당신이 다시 원하는 경우 쉽게 (C++로 이동할 수 있습니다 SDL 객체에 익숙
import pygame, sys,os 
from pygame.locals import * 

pygame.init() 

window = pygame.display.set_mode((468, 60)) 
pygame.display.set_caption('Monkey Fever') 
screen = pygame.display.get_surface() 

monkey_head_file_name = os.path.join("data","chimp.bmp") 

monkey_surface = pygame.image.load(monkey_head_file_name) 

screen.blit(monkey_surface, (0,0)) 
pygame.display.flip() 

def input(events): 
    for event in events: 
     if event.type == QUIT: 
     sys.exit(0) 
     else: 
     print event 

while True: 
    input(pygame.event.get()) 

: P 파이 게임은 빠르며 복잡한 게임을 만들 수 있습니다.)

0

프로그래머가 시스템 작동을 지나치게 방해하지 않기 때문에 Python (또는 관리되는 언어 나 해석 된 언어)을 복잡한 작업을 배우는 좋은 방법이라고 생각하지 않습니다. 내 친구가 말했듯이, "파이썬은 당신을 사랑하고 당신이 행복하기를 바란다." 그리고 당신이 이미 기초를 알고 있다면 그것은 모두 좋고 좋지만, 을 배우려면을 배우십시오. 당신이 원했던 마지막 것은 당신을 위해 모든 일을하는 언어입니다.

당신은 매우 빨리, 왜 그런지, 그리고 무언가가 잘못 나간다는 것을 배우게 될 것입니다. (그리고 그것은 결국, 어떤 사소한 프로젝트에서도) 무슨 일이 일어날 지 아무 생각없이 떠날 것입니다. 또는 이유.

1

파이썬은 당신을 배울 것을 막지 않을 것입니다 디자인 그리고 그것은 IMO를 배우는 데 더 중요한 것입니다. 저는 파이 게임으로 스매쉬 브론 클론을하고 있습니다. 그리고 나는 많은 것을 배웠습니다. 그럼에도 불구하고 너무나 차선책 인 코드를 작성하지 않는 법을 배울 것입니다. 파이썬은 영리하고 아름다운 해킹을 가지고 있습니다.

15

Python + PyGame은 SDL을 배우기에 좋은 아이디어입니다.

나는 somewhat popular game that way이라고 썼습니다. Python/PyGame은 다른 언어와의 SDL 바인딩보다 훨씬 진보 된 것처럼 보입니다. C++에 비해 한 가지 큰 장점은 코드를 컴파일 할 필요가 없으며 간단한 해킹으로 실행중인 프로그램을 수정하고 피드백을 실시간으로 볼 수도 있다는 것입니다. 텍스트 편집기에서 SVG를 쓰는 것보다 GUI 벡터 그래픽 프로그램을 사용하는 것과 같이 큰 차이가 있습니다. 불행히도 이것을 보지 못하면 프로그램을 조금만 수정해야합니다.

PyGame의 다른 장점으로 jrpg는 Linux, Windows 및 OSX에서 매우 작은 변경으로 실행되었습니다. 전체 화면 모드 전환에 몇 가지 조작을해야했고, OS간에 몇 가지 차이점이 있기 때문에 이중 버퍼링이 필요했지만 다시 컴파일 할 필요가 없었습니다. 문제가 생기면 좋은 스택 추적을 얻을 수 있고 문제를 실시간으로 디버깅 할 수 있습니다. 메모리 손상이나 segfault가 발생하면 C++에서는 불가능합니다.

SDL 게임에 C++과 Python을 혼합하는 것이 얼마나 쉽고 어렵 겠는가. 나는 PyGame이 SDL을위한 매우 직관적이지만 매우 멋지게 포장 된 래퍼이며, Python/C++ 믹싱은 충분히 쉬워야하기 때문에 너무 어려울 수 없다고 생각합니다.

+2

링크가 작동하지 않는 것 같습니다 (404). – SwiftsNamesake

+0

새로운 올바른 링크는 다음과 같습니다. https://taw.github.io/jrpg/ – ZN13

+0

URL이 수정되었습니다. – taw

1

PySDL2은 파이 게임보다 좋습니다. SDL2 API를 거의 직접 가져옵니다.

관련 문제