저는 같은 카테고리에 속하는 다양한 Device들의 인터페이스를 일반화 하고 생성 함수를 만들어서 클라이언트 코드가 특정 구현객체에 의존하지 않을 수 있도록 하기 위해 Factory Pattern을 사용합니다. 주로 사용성은 아래와 같습니다.

 

   1:  //Radiometer 카테고리의 디바이스.
   2:   
   3:  DevRadiometer* radiometer = DevRadiometerCreator::Instance().Create( “K6485” );
   4:   
   5:  DevRadiometer* radiometerEmul = DevRadiometerCreator:Instance().Create( “emulator” );
   6:   
   7:   
   8:   
   9:  //Thermometer 카테고리의 디바이스.
  10:   
  11:  DevThermometer* thermometer = DevThermometerCreator::Instance().Create( “pk2000” );
  12:   
  13:  DevThermometer* themometerEmul = DevThermometerCreator::Instance().Create( “emulator” );
  14:   

  위와 같이 Device 종류 별로 Factory 클래스를 만들어서 사용을 해 왔었는데요. 각각의 Factory 클래스 마다 반환하는 특정 클래스를 제외하면 구현 내용은 중복이 되었습니다. 이러한 중복을 제거하기 위해서 Template을 사용하여 Factory 자체를 일반화 하는 것을 구상해 보았습니다. 사용성은 아래와 같습니다.

   1:  DevRadiometer* radiometer = Factory<DevRadiometer>::Instance().Create( “K6480” );
   2:   
   3:  DevRadiometer* radiometerEmul = Factory<DevRadiometer>::Instance().Create( “emulator” );
   4:   
   5:   
   6:   
   7:  DevThermometer* thermometer = Factory<DevThermometer>::Instance().Create( “pk2000” );
   8:   
   9:  DevThermometer* thermometerEmul = Factory<DevThermometer>::Instance().Create( “emulator” );
  10:   
  위와 같이 Factory Template 클래스를 한번 구현해 놓으니 수정이나 기타 구현이 필요 없이 재사용이 가능한 것 같습니다. 구현 코드는 파일로 첨부 하였습니다.

Posted by 웹눈

  이곳에 가시면 Verlet Inegration의 구현에 대해 매우 상세히 설명되어 있는 글을 보실 수 있습니다. 설명되어 있는 예제가 html5의 Canvas를 이용하였기 때문에, 크롬 브라우저나 파이어폭스 혹은 익스 9 버전으로 확인 하셔야 합니다.


위의 예제는 Verlet Integration을 이용하여 구현해본 것입니다.  전에 Euler Integration을 사용하여 비슷한걸 구현해 본적이 있는데요. Verlet Integration을 이용하면 놀라울 정도로 간단히 구현할 수 있습니다.

Posted by 웹눈

41NPP4q1GSL._SL500_AA300_

  게임 제작을 위해서 무엇이 필요하며, 어떻게 준비해야 하는지에 대해서 필요한 만큼만 잘 설명된 책인 것 같습니다. Chapter 3 에서는 게임 개론을 다루면서 게임 제작에 뼈대가 되는 프레임웍 개발을 예제를 통해 친절히 설명( 너무 친절하게.. ) 하고 있으므로, 플래쉬 환경에서 게임 제작을 원하시는 분들에게도 많은 도움이 될 것 같습니다.

 

목록

  1. Android, the New Kid on the Block
  2. First Steps with the Android SDK
  3. Game Development 101
  4. Android for Game Developers
  5. An Android Game Development Framework
  6. Mr. Nom Invades Android
  7. OpenGL ES: A Gentle Introduction
  8. 2D Game Programming Tricks
  9. Super Jumper: A 2D OpenGL ES Game
  10. OpenGL ES: Going 3D
  11. 3D Programming Tricks
  12. Droid Invaders: the Grand Finale
  13. Publishing Your Game
  14. What’s Next?

'book' 카테고리의 다른 글

Begginning Android Games-안드로이드 게임 개발서  (0) 2011/06/24
3D in Flash 도착  (4) 2010/07/12
켄트 벡의 구현패턴  (0) 2010/06/26
데이터 통신과 네트워킹  (3) 2010/06/19
Posted by 웹눈