|
PaintBox, Form 같은 객체에 있는 Canvas는 자동으로 Repaint가 되지 않습니다. 그럴때는, OnPaint와 같은 이벤트가 발생하는데, 그려두었던 내용을 기억하셨다가, 다시 그려주시는 방식으로 하셔야 합니다.
좀 더 편한 방법을 원하신다면, Image 컨트롤을 사용하시면 됩니다. Image 컨트롤은 자동으로 Repaint가 됩니다. (하지만, PaintBox보다는 느립니다)
게임 같은 경우에는, 구현하는 방식에 따라 속도에서 천차만별의 속도가 납니다. 아마도 미리 프로그래밍 기획을 하시고 데모 프로그램을 몇개 만드신 다음 작업을 하시는 것이 좋을 것 같네요.
나르시아 님이 쓰신 글 :
: 빌더 초보입니다.
: 게임프로그래밍에 쓸 툴을 빌더로 만들고 있습니다.
:
: Image->Canvas 위에 OpenDialog를 이용해 그림을 출력하는데, 그림 출력시 화면에 즉시 뿌려지지않고, 화면을 최소화-최대화 or 다른 프로그램에 가려졌다가 활성 될때 그림이 출력됩니다.
: 그림종류는 bitmap이며, SetDIBitsToDevice를 이용해서 뿌려주고있습니다.
: 좀더 자세히 설명을 하면...
: Open 버튼을 이용해 OpenDialog를 실행해서, 화일을 읽어들이면, Dialog창 아래에 가려져 있던 부분은 그림이 그려지고 가려지지않았던 부분은 그려지지않습니다.
: 프로그램을 최소화-최대화 시키면, 정상적으로 화면에 그림을 뿌려줍니다.
: 화일을 같이 첨부합니다.
: 아시는 분은 좀 도와주세요...
:
: 좋은 하루되시길..
:
: p.s : 빌더 정말 좋습니다... 아직은 서툴지만, 그동안 왜 VC만 썼는지...
: 게임툴 만들 때 정말 편하네요.. ㅜㅜ
|