-
(챕터 02) 점에서 시작하는 2D그래픽(2)@ 16. 1 ~ 17. 1/게임프로그래밍의 정석 2013. 4. 24. 22:40
간단하게 내용을 설명하면..
namespace GameLib{
void Framework::update(){
//메인 함수 내용
}
}상태에서 draw() 함수에 점을 찍을 수 있는 내용을 반영하였다 아래처럼..
unsigned* vram=Framework::instance().videoMemory(); unsigned windowWidth=Framework::instance().width();
책에서는 화면도 작아서 drawCell() 함수를 만들으라고 하였는데..만들었는데 시행착오가 있었다.
한번도 겪지 못했던(이론적으로는 알고 있는) const 함수내 일반 함수호출 현상을 겪는 바람에 C2662 에러를 처음 접했다. 처음에는 무슨말인가했다..
또 vram 변수와 windowWidth를 draw함수내에 선언해서 얻고자 했는데..이것또한 뻘짓으로..
아무튼 시행착오를 조금 거치고 예제와 똑같은 함수하나를 완성하게 된다.
void State::drawCell(int x, int y, unsigned color) const{ unsigned* vram=Framework::instance().videoMemory(); unsigned windowWidth=Framework::instance().width(); for(int i=0;i<16;i++){ for(int j=0;j<16;j++){ vram[(y*16+i)*windowWidth+(x*16+j)]=color; } } }
이렇게 해서 아래와 같이 원색의 화면이 출력된다. ㅋㅋ 으아 기쁘네..
'@ 16. 1 ~ 17. 1 > 게임프로그래밍의 정석' 카테고리의 다른 글
싱글톤 클래스 (0) 2013.05.06 (챕터 03) 이미지 파일을 사용하자 (0) 2013.04.24 (챕터 02) 점에서 시작하는 2D그래픽(1) (0) 2013.04.23 팁: 플래그와 비트연산 (0) 2013.04.23 (챕터 01) 처음만드는 게임(추가 부분) (2) 2013.04.22