TalkingDrawing Mouse

Posts 1–2 of 2 · Page 1 of 1
Drawing Mouse

Primeiro você precisa de um Function Draw, eu estou usando Hans211 Function DrawBox, isso pode ajudar muito nos menus


Code:
void DrawBox(IDirect3DDevice8 *pDevice, int x, int y, int w, int h, D3DCOLOR col)
{
        struct QuadVertex {
                float x,y,z,rhw;
                DWORD dwColor;
        };
        IDirect3DVertexBuffer8 *pVertexBuffer = NULL;
        QuadVertex qV[4];
        BYTE *pVertexData = NULL;

        if (pDevice->CreateVertexBuffer((4*sizeof(QuadVertex)),(D3DUSAGE_WRITEONLY|D3DUSAGE_DYNAMIC),(D3DFVF_XYZRHW|D3DFVF_DIFFUSE),D3DPOOL_DEFAULT,&pVertexBuffer)<0) return;

        pDevice->SetRenderState(D3DRS_ZENABLE , FALSE);
        pDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
        pDevice->SetRenderState(D3DRS_LIGHTING, FALSE);

        pVertexBuffer->Lock(0,0,&pVertexData,D3DLOCK_NOSYSLOCK | D3DLOCK_DISCARD);
        if(pVertexData)
        {
                qV[0].dwColor = qV[1].dwColor = qV[2].dwColor = qV[3].dwColor = col;
                qV[0].z   = qV[1].z   = qV[2].z   = qV[3].z   = 0.0f;
                qV[0].rhw = qV[1].rhw = qV[2].rhw = qV[3].rhw = 0.0f;

                qV[0].x = (float)x;
                qV[0].y = (float)(y + h);
                qV[1].x = (float)x;
                qV[1].y = (float)y;
                qV[2].x = (float)(x + w);
                qV[2].y = (float)(y + h);
                qV[3].x = (float)(x + w);
                qV[3].y = (float)y;

                memcpy(pVertexData,qV,sizeof(QuadVertex)*4);
                pVertexBuffer->Unlock();
                pVertexData = NULL;

                pDevice->SetStreamSource(0,pVertexBuffer, sizeof(QuadVertex));
                pDevice->SetVertexShader( D3DFVF_XYZRHW | D3DFVF_DIFFUSE );
                pDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );
        }
        if      (pVertexBuffer) {
                pVertexBuffer->Release();
                pVertexBuffer=NULL;
        }
        pDevice->SetRenderState(D3DRS_LIGHTING, true);
}

Aqui está o Function Mouse:


Code:
void DrawCursor1(int x, int y, DWORD Color1, DWORD Color2, LPDIRECT3DDEVICE8 pDevice )
{
//Credits to Kernal.Olly and A
        DrawBox(pDevice,        x,      y,   1,  1, Color1 );
        DrawBox(pDevice,        x,      y,   1, 12, Color1 );
        DrawBox(pDevice,  x+1, y+11,   1,  1, Color1 );
        DrawBox(pDevice,  x+2, y+10,   1,  1, Color1 );
        DrawBox(pDevice,  x+3,  y+9,   1,  1, Color1 );
        DrawBox(pDevice,  x+4, y+10,   1,  2, Color1 );
        DrawBox(pDevice,  x+5, y+12,   1,  2, Color1 );
        DrawBox(pDevice,  x+6, y+14,   2,  1, Color1 );
        DrawBox(pDevice,  x+7, y+10,   1,  2, Color1 );
        DrawBox(pDevice,  x+6, y+9 ,   1,  1, Color1 );
        DrawBox(pDevice,  x+8, y+12,   1,  2, Color1 );
        DrawBox(pDevice,  x+1,  y,   1,  1, Color1 );
        DrawBox(pDevice,  x+2,  y+1,   1,  1, Color1 );
        DrawBox(pDevice,  x+3,  y+2,   1,  1, Color1 );
        DrawBox(pDevice,  x+4,  y+3,   1,  1, Color1 );
        DrawBox(pDevice,  x+5,  y+4,   1,  1, Color1 );
        DrawBox(pDevice,  x+6,  y+5,   1,  1, Color1 );
        DrawBox(pDevice,  x+7,  y+6,   1,  1, Color1 );
        DrawBox(pDevice,  x+8,  y+7,   1,  1, Color1 );
        DrawBox(pDevice,  x+8,  y+8,   1,  1, Color1 );
        DrawBox(pDevice,  x+7,  y+8,   1,  1, Color1 );
        DrawBox(pDevice,  x+6,  y+8,   1,  1, Color1 ); 
        DrawBox(pDevice,  x+1,  y+1,   1,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+2,   2,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+3,   3,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+4,   4,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+5,   5,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+6,   6,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+7,   7,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+8,   5,  1, Color2 );
        DrawBox(pDevice,  x+1,  y+9,   2,  1, Color2 );
        DrawBox(pDevice,  x+1, y+10,   1,  1, Color2 );
        DrawBox(pDevice,  x+4,  y+9,   2,  1, Color2 );
        DrawBox(pDevice,  x+5, y+10,   2,  2, Color2 );
        DrawBox(pDevice,  x+6, y+12,   2,  2, Color2 );
}
Creditos: a1fahrrad e Kernal.Olly

Thanks for

@Ungry
@Darkkkie.Coder
@PunkC00d
Nossa, mas para que tudas essas drawboxes ?
Posts 1–2 of 2 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?