Çalışmıyor Gösterim Stili [DEV KONU]D3D Tıklanabilir Menü Yapma.#Sabit# C++


Memory Mezarlığı    Forumda Gereksiz Bulanan veya Artık İşlevi Olmayan Konuların Taşındığı Kategori ( Bi Fatiha Okumadan Geçmeyiniz :) )

Yazar: BeratMH    1 Yorum    840 Görüntüleme
  • 0 Oy - 0 Yüzde
Konu Kapalı

Paylaşım Tarihi: 31.01.2016, 19:56:53 #1
BeratMH Cezalı Üye
Cezalı Üye
Status: Çevrimdışı Yorum Sayısı:29 Konu Sayısı:6 Üyelik Tarihi:31.01.2016

Menu.h

PHP Kod:
//DrawStuf
 
       void DrawBoxint xint yint wint hint PXD3DCOLOR BoxColorD3DCOLOR BorderColor1D3DCOLOR BorderColor2 
                        
,IDirect3DDevice9pDevice );
 
       void DrawBorderint xint yint wint hint pxD3DCOLOR BorderColor1D3DCOLOR BorderColor2 ,
 
                          IDirect3DDevice9pDevice ) ;
 
       void FillRGBint xint yint wint hD3DCOLOR yourcolorIDirect3DDevice9pDevice );
 
   };
 
    
    extern 
class cMenu Menu;
 
    
    
#endif 

Menu.cpp


PHP Kod:
#include "Menu.h"
 
    
    cMenu Menu
;
 
    
    void cMenu
::AddCheck (charName ,int xint y int h int w LPDIRECT3DDEVICE9 pDevice int Tab)
 
   {
 
       ++MenuSt.NumberOfItems;
 
    
        if
(CheckBox[Tab][0].State)
 
       {
 
    
            if
(Menu.MouseClick,,strlenName ) , MenuSt.NumberOfItems ,Tab ))
 
               CheckBox [Tab] [ MenuSt.NumberOfItems ].State = !CheckBox [Tab][ MenuSt.NumberOfItems ].State ;
 
    
            Menu
.DrawBox,,,10xFFF6FFDD0xFF000000,0xFFFFFFFF,pDevice);
 
           Main.DrawString0xFF000000 Main.pFont ,Name);
 
    
            if
(CheckBox[Tab] [ MenuSt.NumberOfItems ].State)
 
               Main.DrawString0xFF0000FF Main.pFont ,"X");
 
       }
 
   }
 
    
    void cMenu
::AddTab(charName ,int xint y int h int w LPDIRECT3DDEVICE9 pDevice)
 
   {
 
       if(Menu.MouseClick,,0MenuSt.NumberOfTabs ))
 
       {
 
           for(int i i++)
 
               CheckBox[i][0].State false;
 
           CheckBoxMenuSt.NumberOfTabs ][0].State true ;
 
       }
 
    
        if
(CheckBoxMenuSt.NumberOfTabs ][0].State)
 
           Menu.DrawBox,,1,0xFF7878780xFF000000,0xFFFFFFFF,pDevice);
 
       else
            Menu
.DrawBox,,,1,0xFF9595950xFFFFFFFF0xFF000000,pDevice);
 
    
        Main
.DrawString0xFF000000 Main.pFont ,Name);
 
    
        MenuSt
.NumberOfTabs ++;
 
   }
 
    
    void cMenu
::Render(LPDIRECT3DDEVICE9 pDevice)
 
   {
 
       if(!MenuSt.Load)
 
       {
 
           MenuSt.100;
 
           MenuSt.100;
 
           Menu.CheckBox[0][0].State true// Show Fist Tab .
 
           MenuSt.Load true;
 
       }
 
    
        if
GetAsyncKeyStateVK_INSERT )&1)
 
           MenuSt.IsVisble = !MenuSt.IsVisble;
 
       
        if
(MenuSt.IsVisble)
 
       {
 
           Menu.StyleRender (pDevice);// Style
 
    
            
/////////////////////////////////////////////////////////////////////////////////////
 
           /*        Tabs        */
 
           AddTab("Visaul"   Menu.MenuSt.10        Menu.MenuSt.,30 60 ,pDevice);
 
           AddTab("Weapon"   Menu.MenuSt.75        Menu.MenuSt.,30 60 ,pDevice);
 
           AddTab("Misc"       Menu.MenuSt.140        Menu.MenuSt.,30 60 ,pDevice);
 
           AddTab("Nothing"   Menu.MenuSt.205        Menu.MenuSt.,30 60 ,pDevice);
 
    
            MenuSt
.NumberOfTabs 0;
 
    
            
////////////////////////////////////////////////////////////////////////////////////////
 
           int i 2// Tab 1
 
           /*        Left        */
 
           AddCheck("SatChams"            MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,0);
 
           AddCheck("FullBright"        MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,0);
 
           AddCheck("NoFog"            MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,0);
 
           AddCheck("WireFrame"        MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,0);
 
    
            i 
2;
 
           /*        Right     */
 
           AddCheck("Player WireFrame"    MenuSt.150  MenuSt.+ (20 i++) , 1212pDevice ,0);
 
           AddCheck("NoFlash"            MenuSt.150  MenuSt.+ (20 i++) , 1212pDevice ,0);
 
           AddCheck("Glow"                MenuSt.150  MenuSt.+ (20 i++) , 1212pDevice ,0);
 
    
            MenuSt
.NumberOfItems 0;
 
           //////////////////////////////////////////////////////////////////////////////////////////
 
           i 2// Tab 2
 
           AddCheck("NoSpread"            MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,1);
 
           AddCheck("PickUp"            MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,1);
 
    
            MenuSt
.NumberOfItems 0;
 
           ///////////////////////////////////////////////////////////////////////////////////////////
 
           i  2// Tab 3
 
           AddCheck("SuperJump"        MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,2);
 
           AddCheck("ShowFps"            MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,2);
 
    
            MenuSt
.NumberOfItems 0;
 
           //////////////////////////////////////////////////////////////////////////////////////////
 
           i  2// Tab 4
 
           AddCheck("Check1 on Tab 4" MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,3);
 
           AddCheck("Check2 on Tab 4" MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,3);
 
           AddCheck("Check3 on Tab 4" MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,3);
 
           AddCheck("Check4 on Tab 4" MenuSt.15  MenuSt.+ (20 i++) , 1212pDevice ,3);
 
    
            MenuSt
.NumberOfItems 0;
 
    
            Menu
.DrawMouse(pDevice);// Draw Mouse;
 
       }
 
   }
 
    
     
    bool cMenu
::MouseClickint x int y int h int w int Index int Tab)
 
   {
 
       POINT Cur;
 
       GetCursorPos( &Cur );
 
    
        if
Cur.&& Cur.&& Cur.&& Cur.)
 
       {
 
           ifGetAsyncKeyStateVK_LBUTTON ) < )
 
               CheckBox [Tab][Index].IsClicked true;
 
    
            if
(GetAsyncKeyStateVK_LBUTTON ) == && CheckBox [Tab][Index].IsClicked )
 
           {
 
               CheckBox [Tab][Index].IsClicked false;
 
               return true;
 
           }
 
       }else CheckBox [Tab][Index].IsClicked false;
 
       return false;
 
   }
 
    
    void cMenu
::DrawMouse(LPDIRECT3DDEVICE9 pDevice)
 
   {
 
       POINT Cur;
 
       GetCursorPos( &Cur );
 
       Menu.DrawBox(Cur.,Cur.y,8,8,1,0xFFF6FFDD,0xFFF6FFDD,0xFFFFFFFF,pDevice);
 
   }
 
    
    void cMenu
::DrawBoxint xint yint wint hint PXD3DCOLOR BoxColorD3DCOLOR BorderColor1D3DCOLOR BorderColor2 
                        
,IDirect3DDevice9pDevice 
 
   
 
       if( !pDevice )
 
           return;
 
    
        Menu
.FillRGBxywh       BoxColorpDevice ); 
 
       Menu.DrawBorderxywhPX   BorderColor1BorderColor2pDevice ); 
 
   }
 
    
    void cMenu
::DrawBorderint xint yint wint hint pxD3DCOLOR BorderColor1D3DCOLOR BorderColor2 ,
 
                          IDirect3DDevice9pDevice 
 
   
 
       if( !pDevice )
 
           return;
 
    
        FillRGB
x, (px), wpx    BorderColor2pDevice ); 
 
       FillRGBxypxh               BorderColor1pDevice ); 
 
       FillRGBxywpx               BorderColor1pDevice ); 
 
       FillRGB( (px), ypxh    BorderColor2pDevice ); 
 
   
 
    
    void cMenu
::FillRGBint xint yint wint hD3DCOLOR ColorIDirect3DDevice9pDevice )
 
   {
 
       if( !pDevice )
 
           return;
 
    
        const DWORD D3D_FVF 
= (D3DFVF_XYZRHW D3DFVF_DIFFUSE);
 
       
        struct Vertex 
        
{
 
           float x,y,z,ht;
 
           DWORD yourcolor;
 
       }
 
       V[4] = 
 
       {
 
           {(float)x        ,(float)(y+h   0.0f0.0fColor},
 
           {(float)x        ,(float)y        0.0f0.0fColor},
 
           {(float)(x+w   ,(float)(y+h   0.0f0.0fColor},
 
           {(float)(x+w   ,(float)y        0.0f0.0fColor}
 
       };
 
       
        pDevice
->SetTexture0NULL );
 
       pDevice->SetRenderStateD3DRS_LIGHTINGFALSE);
 
       pDevice->SetRenderStateD3DRS_CULLMODED3DCULL_CCW);
 
       pDevice->SetRenderStateD3DRS_ALPHABLENDENABLETRUE );
 
       pDevice->SetRenderStateD3DRS_DESTBLENDD3DBLEND_INVSRCALPHA );
 
       pDevice->SetRenderStateD3DRS_ZENABLED3DZB_FALSE );
 
       pDevice->SetRenderStateD3DRS_FOGENABLEfalse );
 
    
        pDevice
->SetFVF(D3D_FVF);
 
       pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,V,sizeof(Vertex));
 
   



[b]How to use :
call Menu Render inPresent.
[/b]

[b][b]Code[/b][/b]

PHP Kod:
Menu.Render (pDevice);//Menu Render 

[b][b][b]Using Items[/b][/b][/b]

PHP Kod:
if( Menu.CheckBox[/*Tab Number */ 0][/*Check Number in the Tab */ 1].State )
 
       //Whatever
 
   else
        
//whatever 

mediavenus

Paylaşım Tarihi: 06.02.2016, 21:07:45 #2
Muhabirreis Çömez
Kayıtlı Üye
Status: Çevrimdışı Yorum Sayısı:3 Konu Sayısı:0 Üyelik Tarihi:06.02.2016 Rep Puanı: 0

yaw bro bunu vermişsinde nasıl kodlamaya geçireceğiz onuda anlatsaydın ya?




Konu Kapalı






Aradığınızı Bulamadınız Mı ?

Konuyu görüntüleyenler:
1 Misafir