2013-02-04 1 views
2

나는 안드로이드 게임 개발에 상당히 익숙하다고 지적하고 싶다. 게임을 프로그래밍 할 수있는 몇 가지 방법을 시도해 보았지만 두 가지 모두 작동하는 것으로 나타 났지만 두 가지 모두 자신의 장점이있었습니다. 그래서 나는 그것을하는 더 나은 방법/일반적인 방법을 알고 싶습니다. 예를 들어 우리가 지그 소 퍼즐 게임을 만들려고한다면 서로 상호 작용하고 터치 이벤트에 반응하는 많은 퍼즐 조각 개체가 필요합니다.올바른 방법으로 안드로이드 게임 개발하기

방법 1 : 당신이 클래스를 만든 다음 그 클래스의 객체를 생성한다 동일한 방식으로 작동 많은 객체가있는 경우

나는 자바에서 배운 것처럼. 게임 프로젝트에서이 작업을 시도하고 ImageView를 확장 한 "PuzzlePiece"클래스를 만들었습니다. 그런 다음 주 프로그램에서 레이아웃에 추가하고 주 활동에서 옮겼습니다. 이것은 꽤 복잡하고 느렸다. 또한 그렇게하는 것이 옳은 방법이라고 생각하지 않았습니다.

방법 2 :

나는 (예를 들어, 이미지 뷰,하여 ImageButton, 이미지를 배경으로 사용자 레이아웃) 구성 요소로 내 게임 객체를 추가했다. 이 방법으로 나는 그것들을보다 잘 제어 할 수 있었고 동시에 많은 대상을 가지고 서로 상호 작용하게하는 것이 더 쉬웠다. 그러나이 방법은 매우 느 렸으며 올바른 방법이 아니라고 느꼈습니다.

방법 3 :

나는 활동에 서피스 뷰 SurfaceView를 추가 무승부() 메소드를 캔버스에 내 모든 객체를 그립니다. 이 방법은 훨씬 빠르지 만,이 방법을 사용하면 오브젝트에 대한 제어력이 떨어집니다. 예를 들어 많은 객체를 캔버스에 그려서 터치 이벤트에 모두 응답하게하거나 서로 상호 작용하도록하는 것이 더 어려웠습니다.

내가 놓친 다른 방법이 있습니까, 아니면 올바른 방법으로 내 방법 중 하나입니까?

+0

참조 용으로 코드 스 니펫을 게시 할 수 있습니까? – akshay

답변

1

당신은 android.org 또는 당신이 멀리 떨어진 곳에서 OpenGL을 부분적으로 추상화하는 방식으로 OpenGL을 사용하는 다른 opensource 게임 엔진으로 시작할 수 있다면 충분히 android class를 사용하여 물건을 만들 수 있습니다. Youll은 여전히 ​​공정한 구성을해야하지만 OpenGL 기반 앱을 처음부터 빌드하는 것만 큼 나쁘지는 않을 것입니다.

andengine.org

친절 dev에 지역 사회가 지원하는 거기에 꽤 많은 다른 오픈 소스 안드로이드 게임 엔진도 있습니다. 인터넷 검색을하고 그것을 확인하십시오. 그렇지 않으면 당신이 게임 현명한 달성하고자하는 대부분의 것들이 정상적인 안드로이드 전망을 사용하여 꽤 느리고 clunky 끝날 것을 알게되었습니다.

1

네이티브 안드로이드 방식으로, 길 3은 정확하다고 생각합니다. 하지만 이전에 경험했듯이 장치 나 OS 버전에 따라 GC에서 심한 프레임 저하가 발생할 수 있습니다.

방금 ​​운동을하는 경우 길 1을 쉽게 이해할 수 있습니다 안드로이드의 아키텍처 웨이 3은 레이아웃 렌더링 기술을 교육 할 수 있지만, 시장에서 발표 할 생각은 결코하지 마라. 안드로이드 조각화에 대한 끔찍한 경험이있을 것이다.

게시 될 실제 게임 시장에서 OpenGL을 사용해야합니다. OpenGL을 사용하려면 몇 가지 게임 엔진이 필요합니다.

관련 문제