앞으로 C++과 SDL로 옮기고 싶다면 Python과 pygame이 SDL을 배우는 좋은 방법일까요?파이썬과 파이 게임은 SDL을 배우는 좋은 방법입니까?
답변
pygame은 SDL 인터페이스를 상당히 많이 추상화 했으므로 많은 이점이 있다고 생각하지 않습니다.
SDL 기반 환경에서 게임 로직 등을 구현하는 방법을 배울 수 있지만 C++/SDL로 이동 한 후에는 SDL 기능을 직접 사용해야하므로 pyGame의 도우미 기능/객체가 완전히 사용됩니다.
예. 파이썬이 C++보다 훨씬 자연 스럽다면 먼저 파이 게임을 배우는 것이 좋습니다. SDL 및 C를 사용하여 마이그레이션 할 때는 번역 프로세스를 거쳐야하지만 일대일 매핑이 더 많거나 적어야합니다.
물론. 당신은 정말 적은 시간에 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 파이 게임은 빠르며 복잡한 게임을 만들 수 있습니다.)
프로그래머가 시스템 작동을 지나치게 방해하지 않기 때문에 Python (또는 관리되는 언어 나 해석 된 언어)을 복잡한 작업을 배우는 좋은 방법이라고 생각하지 않습니다. 내 친구가 말했듯이, "파이썬은 당신을 사랑하고 당신이 행복하기를 바란다." 그리고 당신이 이미 기초를 알고 있다면 그것은 모두 좋고 좋지만, 을 배우려면을 배우십시오. 당신이 원했던 마지막 것은 당신을 위해 모든 일을하는 언어입니다.
당신은 매우 빨리, 왜 그런지, 그리고 무언가가 잘못 나간다는 것을 배우게 될 것입니다. (그리고 그것은 결국, 어떤 사소한 프로젝트에서도) 무슨 일이 일어날 지 아무 생각없이 떠날 것입니다. 또는 이유.
파이썬은 당신을 배울 것을 막지 않을 것입니다 디자인 그리고 그것은 IMO를 배우는 데 더 중요한 것입니다. 저는 파이 게임으로 스매쉬 브론 클론을하고 있습니다. 그리고 나는 많은 것을 배웠습니다. 그럼에도 불구하고 너무나 차선책 인 코드를 작성하지 않는 법을 배울 것입니다. 파이썬은 영리하고 아름다운 해킹을 가지고 있습니다.
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++ 믹싱은 충분히 쉬워야하기 때문에 너무 어려울 수 없다고 생각합니다.
PySDL2은 파이 게임보다 좋습니다. SDL2 API를 거의 직접 가져옵니다.
- 1. 파이 게임은 루비에 해당합니까?
- 2. 파이썬과 파이 게임 통합하기
- 3. filter_var는 좋은 방법입니까?
- 4. UIViewController를 변경하는 좋은 방법입니까?
- 5. 자바를 배우는 좋은 방법은 무엇입니까?
- 6. Ajax를 배우는 가장 좋은 방법
- 7. OpenCL을 배우는 좋은 프로젝트는 무엇입니까?
- 8. SQLAlchemy/SQLObject를 사용하지 않는 것이 좋은 방법입니까?
- 9. 이렇게하는 것이 가장 좋은 방법입니까?
- 10. 이것은 hcf를 찾는 좋은 방법입니까?
- 11. 태그를 사용하는 것이 좋은 방법입니까?
- 12. 어느 것이 가장 좋은 방법입니까?
- 13. 객체를 총체적으로 deserialize하는 좋은 방법입니까?
- 14. dll을 사용하는 좋은 방법입니까? (? C++)
- 15. PropertyChanged 이벤트 테스트 : 좋은 방법입니까?
- 16. SDL을 사용하여 다중 모드에서 이미지를 블리치하려면 어떻게해야합니까?
- 17. 파이썬과 프로세스
- 18. texmacs를 배우는 가장 좋은 방법은 무엇입니까?
- 19. API를 작성하는 방법을 배우는 좋은 방법은 무엇입니까?
- 20. WCF를 배우는 가장 좋은 방법은 무엇입니까?
- 21. PHP에서 Python을 배우는 것
- 22. 게임은 프레임 속도에만 의존해야합니까?
- 23. 이 게임은 어떻게 모듈을로드합니까?
- 24. 모달 대화 상자는 웹에서 좋은 방법입니까?
- 25. 스레드 안전 큐가 좋은 접근 방법입니까?
- 26. 일반용 고유 속성을 처리하는 좋은 방법입니까?
- 27. 익명 함수는 명령 패턴을 구현하는 좋은 방법입니까?
- 28. 비동기 프로그래밍 모델을 구현하는 좋은 방법입니까?
- 29. C#의 BinaryFormatter는 파일을 읽는 좋은 방법입니까?
- 30. DragDrop 논리를 컨트롤에서 제외시키는 좋은 방법입니까?
링크가 작동하지 않는 것 같습니다 (404). – SwiftsNamesake
새로운 올바른 링크는 다음과 같습니다. https://taw.github.io/jrpg/ – ZN13
URL이 수정되었습니다. – taw