2010-06-02 3 views
3

테스트 프로젝트의 일종으로 소형 게임을 만들고 있습니다. 방금 시작하여 그래픽 조각 작업을하고 있지만 그래픽을 화면에 그릴 수있는 최선의 방법이 무엇인지 잘 모릅니다.C# App에서 게임 그래픽을 표시 할 때 가장 좋은 방향

예전의 젤다와 비슷할 것입니다. 비트 맵 등을 사용하면 매우 간단합니다. Control에서 핸들을 사용하여 Drawing.Graphics를 사용하여 그림 상자 컨트롤에 그림을 그릴 수 있다고 생각하기 시작했습니다.하지만이 작업은 번거롭고 복잡합니다. 또한이 방법으로 이중 버퍼링을 사용할 수 있는지 잘 모르겠습니다.

나는 XNA를 보았지만 지금은 모든 것을 표시하는 간단한 방법을 사용하고 싶었습니다.

내 질문에. 현재 C# Windows 컨트롤 및 프레임 워크를 사용하여 게임 그래픽 (예 : 그림 상자, 사용자 지정 컨트롤 작성 등)을 표시하는 가장 좋은 방법은 무엇입니까

EDIT : 그림 상자에 현재 그리는 방법을 추가합니다. . 타일 ​​(List< List< Color>> texture;)의 픽셀을 포함하는 Tile 객체가 있습니다. 단순함을 위해 더 이상 사용하지 않습니다. I는 화소를 반복하고, 현재의 화소 색상 스케일 변수에 의해 지정된 크기의 브러시를 이용하여 FillRectangle 방법을 이용하여 PIC 상자 그 그린다

int scale = 5; 
for (int i = 0; i < texture.Width;) 
{ 
    for (int j = 0; j < texture.Height; ++j) 
    { 
     int x = i * scale; 
     int y = j * scale; 
     picBox.FillRectangle(new SolidBrush(currentPixelColor), new Rectangle(x, y, scale, scale)); 
    } 
} 

야아, 매우 성가신. 모든 제안이나 의견을 부탁드립니다.

+0

정말 XNA를 다시 생각해보아야한다고 생각합니다. 'Draw()'를 간단히 오버라이드하면 화면에 객체를 그릴 수 있습니다. 또한 게임을 만들기위한 유틸리티 메소드, 확장 성 등이 있습니다. –

+0

성가신 이유를 어떻게 확장 할 수 있습니까? GDI가 복잡하다고 생각된다면 XNA/DirectX/OpenGL/등이 단순성 범주의 도움이 될 것이라고 생각하지 않습니다. –

+0

XNA는 모든 것을 직접 그리는 것보다 확실히 간단하고 쉽습니다. 그러나 학습 경험이 적어 XNA 방식으로 작업을 수행 할 수 있습니다. – MusiGenesis

답변

2

당신이 XNA에서 다른 살펴보고 몇 가지 샘플을 시도 할 것을 추천 할 것입니다. 2D를 고수하는 한 XNA로 간단한 게임을 만드는 것은 정말 간단합니다.프레임 워크는 이해하기 쉬운 흐름으로 모든 세부 사항을 래핑하는 데 탁월한 작업을 수행합니다. 여기서는 기본적으로 빈칸을 채 웁니다.

이전에 거의 경험하지 않은 채 8 시간 만에 내 아들을위한 완전한 (그러나 매우 간단한) Xbox 게임을 만들었습니다.

3D로 이동하면 다양한보기 모델, 쉐이더 등을 이해해야하므로 작업이 더욱 복잡해 지지만 2D의 경우 시작하는 것이 정말 간단합니다.

2D의 또 다른 장점은 필요한 도구를 쉽게 얻을 수 있다는 것입니다. 나는 Photoshop을 사용하여 모든 그래픽을 만들었고 사운드는 Windows 레코더를 사용하여 녹음 한 MP3 및 음성이었습니다. 3D의 경우 모델 작성 및 내보내기 등을위한 복잡한 도구가 필요합니다.

+1

나는 XBox에서 게임을 선보일 수 있다는 사실을 생각했지만, 원한다면 크로스 플랫폼으로 가고 싶었다. XNA가 크로스 플랫폼이 될 수 있습니까? 아니면 다른 플랫폼을 위해 프로젝트를 다시 코딩해야합니까? –

+0

Windows, Xbox, Zune 및 다가오는 Windows Phone을 크로스 플랫폼으로 간주하지 않는 한 아닙니다. 그러나 다소 제한적인 설정으로 인해 개발자 경험이 정말 좋습니다. Visual Studio를 사용하고 콘솔에서 실행되는 게임을 개발하고 디버깅합니다. 정말 부드럽습니다. Xbox에 배포 할 수있는 100 달러 라이센스 만있는 단점이 있습니다. Windows 게임을하고 싶다면 라이센스가 없습니다. –

+0

XNA를 배우기위한 포괄적 인 자습서 나 도움말 사이트가 있습니까? –

0

나는 XNA가 내가 사용한 적이있는 가장 단순한 게임 디자인 프레임 워크 중 하나라고 믿습니다. 그 외에도 WPF를 사용하여 화면에 개체를 그릴 수 있습니다. 당신이 XNA다이렉트 도움을 원하지 않는 경우

0

먼저 난 강력하게 당신이 강제 될 것이다 .... 그러나 ... 게임 개발을위한 다이렉트XNA 또는 를 사용하여

추천 이 방법에 의해 .Net GDI+ 그림 도구 .....

를 사용하려면 모든 -of 코스 -을 것을 (GDI +에서 점, 선, 원, 사각형, 호, 비트 맵, 텍스트와 더 많은 그릴 수 있습니다 C# 및 .Net에서 사용 가능)

새로운 간단한 컨트롤을 만들거나 이미지 상자 또는 양식 자체와 같은 기존 컨트롤을 사용하면 OnPaint(PaintEventArgs e) 함수를 재정의해야합니다. GDI를 사용
+ 파이로 픽셀을 그릴 :
Simple Tetris Game Tutorial in C#


편집 : 그럼 당신은 ...


예 당신이 원하는 무엇이든 그릴 e.Graphics를 사용합니다 xel 그림은 꽤 성능 저하입니다 !!


더 나은는 (원, 등등) 모양을 직접 그리는 것입니다

관련 문제