메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

MFC테트리스 만들기
조회 수 26,674 추천 수 0 댓글 14
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 첨부 목록
?

단축키

Prev이전 문서

Next다음 문서

위로 아래로 댓글로 가기 인쇄 첨부 목록
?
  • 수강생 2010.01.03 11:59

    강의 잘 보고 있습니다. 여기서 문제는 setTimer(1,100,NULL)을 선언해줘야하는데 어디서 선언하는지 가르쳐주시면 감사하겠습니다.

  • 수강생 2010.01.03 12:14

    수강생 님에게 달린 댓글

    아 제가 대소문자 잘못했네요^^

  • WhiteAT 2010.01.04 22:18 글쓴이

    수강생 님에게 달린 댓글

    해결하셨다니 다행입니다.~~

    하시다가 이상한거 있으면 알려 주세요.^^

  • GodOfEmperor 2011.05.26 23:05

    마지막 함수 만들 때 리턴값 넣는 이유와 어떻게 동작하는지 모르겠어요 ㅠ.ㅠ

  • WhiteAT 2011.05.26 23:14 글쓴이

    GodOfEmperor 님에게 달린 댓글

    마지막 함수라고 하셨는데.

    MoveUp() 함수 말인가요?^^;

     

    리턴값이 없어도 상관 없습니다.

    UP 키가 제대로 먹혔는지에 대한 값을 리턴하려고 만들어 놓은 겁니다.~

  • GodOfEmperor 2011.05.27 00:27

    WhiteAT 님에게 달린 댓글

    주인장님 소스파일 받아보니 모든 Move함수에 리턴 값이 입력되어 있네요..

    근데 시험삼아 리턴값 1개를 삭제하니 인코딩할 때 오류가 뜨네요..

    오류 내용은 리턴값을 반드시 취해야 한다고 뜨던데 그 이유를 알고 싶습니다.

    (제 질문 내용이 이해가기 힘드실 수 있으실 텐데 ㅈㅅ합니다;;)

  • WhiteAT 2011.05.27 07:30 글쓴이

    GodOfEmperor 님에게 달린 댓글

    리턴값 없애도 됩니다.^^.

    cpp 파일에서 리턴값을 없애면, 아래 형태가 될 겁니다.^^

    void CTETris::MoveUp()

    {

        xxxxxxxxxxx

    }

     

    그리고, 헤더파일(.h) 에 MoveUp() 선언해 준 곳도 변경해 줘야 겠죠?

    void MoveUp();

     

    그리고 한가지 더,

     

    MoveUp 이라는 함수가 사용된 곳을 모두 확인해 보셔야 합니다.^^

  • 소마 2011.11.01 17:51

    저기 선생님 set timer(1,1000,NULL)가

    1번 타이머를 1초 마다 작동 이란 뜻이잖아요

    그럼 NULL이 곳에 만약 값을 집어넣게 되면 어떤 일이 발생하는거죠

    그러니깐 NULL이곳이 하는 일이 무엇인지 궁금해서요....

  • WhiteAT 2011.11.01 18:00 글쓴이

    소마 님에게 달린 댓글

    NULL 위치에는 1초마다 실행할 함수를 넣을 수 있습니다.

     

    만약 NULL 이 아닌 다른 함수명을 사용하면 1초마다 그 함수가 실행되고,

    NULL 을 넣게 되면 WM_TIMER 메세지가 발생하여 OnTimer() 함수가 실행되게 됩니다.

     

     

    자세한 것은 아래 주소 참조하세요.~~

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms644906(v=vs.85).aspx

  • 소마 2011.11.01 19:22

    친절한 답변 감사합니다.

  • 소마 2011.11.09 01:15

    void CWATTetrisView::OnInitialUpdate()

    {

                 CFormView::OnInitialUpdate();//부모 클래스의 OnInitialUpdate호출

                 GetParentFrame()->RecalcLayout();//CMainFrame(부모윈도우)으로 하여금 레이아웃 재설정 요청

                 ResizeParentToFit();//프레임윈도우에 꼭 맞게 조정 CScrollView::ResizeParentToFit();

      

                 SetTimer(1,1000,NULL); //여기는 나중 완성소스에서 보니 Game Start 함수가 들어가던데...

    }

    이 소스는 mfc app 처음 설정했을 때 기본적으로 설정된 클래스 이던데... 선생님이 요기다 Game Start() ;함수를

    선언하신걸 보고 이 클래스 라고해야되나///인터넷을 따로 찾아보니 저런 주석이 달려있던데 이 클래스에 대해서 좀 설명해주세요....!!!!

    선언 하신걸 보고 의문이 들어 찾아봤는데

  • WhiteAT 2011.11.09 09:04 글쓴이

    소마 님에게 달린 댓글

    CFormView::OnInitialUpdate(); 는

    폼뷰를 사용하기 위한 메소드를 호출하는 것입니다.

    이것이 전에 설명 드린 MFC 의 최대 장점을 활용하는 겁니다.^^

     

     

    GetParentFrame()->RecalcLayout();// 는

    윈도우 창의 크기가 변할때 내부의 컨트롤에도 재설정할 수 있게 해주는 역할을 합니다.

     
    ResizeParentToFit(); 도 마찬가지로.
    윈도우창 크기에 맞게 설정하는 메소드 중에 하나라고 보시면 됩니다.
     
    자세한 내용을 보시려면 http://msdn.microsoft.com/en-us/library/2c6ye477.aspx 를 참조하세요.~~
     
  • 소마 2011.11.09 10:01

    아 글을 읽다보니 CFormView::OnInitialUpdate();에 선생님이 짜신 소스를 보니 

    GamdStart( ) 함수도 넣으셨던데 이건 왜그런거죠///

  • WhiteAT 2011.11.09 10:03 글쓴이

    소마 님에게 달린 댓글

    오래 전것이라 기억이 잘 안나지만,

    프로그램 시작하자마자 게임을 시작하게 하려는 거였을 겁니다;


  1. No Image notice by WhiteAT

    [공지] MFC로 테트리스 게임만들기

  2. notice by WhiteAT

    [FAQ]자주 하는 질문을 정리했습니다.

  3. 09Oct
    by WhiteAT
    in 방법1
    Replies 36

    [01]윈도우 프로그램 껍데기 만들기.

  4. 09Oct
    by WhiteAT
    in 방법1
    Replies 2

    [02]간단한 소스 분석 & 간단한 기능 추가

  5. 11Oct
    by WhiteAT
    in 방법1
    Replies 10

    [03]도형,글씨 나타내기.

  6. 11Oct
    by WhiteAT
    in 방법1
    Replies 7

    [04]키보드로 벽돌 움직이기

  7. No Image 12Oct
    by WhiteAT
    in 방법1
    Replies 14

    [05]타이머로 벽돌 떨어뜨리기 & 벽돌 이동을 함수로

  8. 15Oct
    by WhiteAT
    in 방법1
    Replies 30

    [06]벽돌 모양 만들기 & 벽돌회전

  9. 16Oct
    by WhiteAT
    in 방법1
    Replies 7

    [07]여러모양 만들기

  10. No Image 18Oct
    by WhiteAT
    in 방법1
    Replies 18

    [08]보드 만들기 & 벽돌이동 범위체크

  11. 18Oct
    by WhiteAT
    in 방법1
    Replies 37

    [09]벽돌을 바닥에 쌓기 & 한줄없애기

  12. 20Oct
    by WhiteAT
    in 방법2

    클래스 필요성 & 클래스 구조

  13. 20Oct
    by WhiteAT
    in 방법2
    Replies 2

    테트리스 클래스 만들기

  14. 25Oct
    by WhiteAT
    in 방법2

    보드 그리기 & 타이머

  15. 25Oct
    by WhiteAT
    in 방법2

    벽돌 움직이기

목록
Board Pagination Prev 1 2 Next
/ 2