C++/CLI¿¡¼­ Á¤Àû ¶óÀ̺귯¸® »ç¿ë

C++/CLI¿¡¼­ µ¿Àû¶óÀ̺귯¸®¸¸ Ưº°ÇÑ º¯È¯ ¾øÀÌ »ç¿ë °¡´ÉÇÑÁö ¾Ë¾Ò´Ù. C#¿¡¼­ µ¿Àû DLL¸¸ µÇ´ÂÁö ¾Ë¾Ò±â¿¡ C++/CLIµµ ±×·±Áö ¾Ë¾Ò´Ù. Á¤Àû ¶óÀ̺귯¸®¸¦ »ç¿ë ÇÒ·Á¸é Ưº°ÇÑ Ã³¸®°¡ ÇÊ¿äÇÑÁö ¾Ë¾Ò´Ù. ±×·¡¼­ Ưº°ÇÑ Ã³¸®°¡ ¹ºÁö ¾Ë¾Æº¸´Ï ³»°¡ À߸ø ¾Ë°í ÀÖ¾ú´Ù.

C++/CLI¿¡¼­´Â Ưº°ÇÑ Ã³¸® ¾øÀÌ Á¤Àû ¶óÀ̺귯¸®¸¦ »ç¿ë ÇÒ ¼ö ÀÖ´Ù.

¿¹Á¦ ÇÁ·ÎÁ§Æ®¸¦ º¸ÀÚ.

< DxLib  ÇÁ·ÎÁ§Æ®: Á¤Àû ¶óÀ̺귯¸® >

DxLib ÇÁ·ÎÁ§Æ®´Â D3D µð¹ÙÀ̽º¸¦ »ý¼ºÇؼ­ ·»´õ¸µ½Ã È­¸é »ö±òÀ» ¹Ù²Ù´Â Á¤Àû ¶óÀ̺귯¸®ÀÌ´Ù.

BeginScene()¿¡¼­ ¹ÙÅÁ È­¸é »ö±òÀ» ¹Ù²Ù°í ÀÖ´Ù.

void CGraphics::BeginScene()

{

    static int col = 255;

    m_pDevice->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,

        D3DCOLOR_XRGB ( col, 0, 0 ), 1.0f, 0 );

    m_pDevice->BeginScene ();

 

    --col;

    if( col < 0 )

        col = 255;

}

< 04_convert ÇÁ·ÎÁ§Æ® : C++/CLI >

ÇÁ·ÎÁ§Æ®ÀÇ  "°ø¿ë ¼Ó¼º / ÂüÁ¶"¿¡ DxLib ÇÁ·ÎÁ§Æ®¸¦ Ãß°¡ÇÑ´Ù. º°µµ·Î "¼Ó¼º/¸µÅ©" Ç׸ñ¿¡ ¶óÀ̺귯¸®¸¦ Ãß°¡ ÇÒ ÇÊ¿ä´Â ¾ø´Ù.

D3D¸¦ ·»´õ¸µ Çϱâ À§ÇØ ±âÁ¸ÀÇ ¸Þ½ÃÁö ·çƾ Application::Run() ´ë½Å ³×ÀÌƼºê ¸Þ½ÃÁö ·çƾ°ú ºñ½ÁÇÑ ±¸Á¶ÀÇ ¸Þ½ÃÁö ·çƾÀ» ÀÌ¿ëÇÑ´Ù.

½ÇÇàÇϸé È­¸éÀÌ »¡°­»ö¿¡¼­ °ËÀº»öÀ¸·Î ¹Ù²ð °ÍÀÌ´Ù.

    //Application::Run(gcnew Form1());

    Form1^ pForm = gcnew Form1();

    pForm->Show();

 

    MSG  msg;

    while( pForm->Visible == true  )

    {

        if( PeekMessage( &msg,NULL,0,0,PM_NOREMOVE ) )

        {

            GetMessage( &msg,NULL,0,0 );

            TranslateMessage( &msg );

            DispatchMessage( &msg );

        }

        else

        {

            CGraphics* pGraphics = pForm->m_pGraphics;

            pGraphics->BeginScene();

            pGraphics->EndScene();

        }

    }

ÇÁ·ÎÁ§Æ® vs2005ȯ°æ: dx_cli.zip