Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Korowai
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
void initD3D(HWND hDlg1, HWND hwndRaumkarte, float &Bildschirmbreite, float &Bildschirmhoehe) { RECT screenRect; GetClientRect(GetDlgItem(hDlg1, ID_KARTE),&screenRect); float width=screenRect.right-screenRect.left; float height=screenRect.bottom-screenRect.top; HRESULT hresult; d3d=Direct3DCreate9(D3D_SDK_VERSION); D3DDISPLAYMODE d3ddm; d3d->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm ); D3DPRESENT_PARAMETERS d3dpp; ZeroMemory(&d3dpp, sizeof(d3dpp)); d3dpp.Windowed=TRUE; d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow=hwndRaumkarte; d3dpp.BackBufferFormat = d3ddm.Format; d3dpp.EnableAutoDepthStencil = TRUE; d3dpp.AutoDepthStencilFormat = D3DFMT_D16; d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; d3dpp.BackBufferCount=1; d3dpp.BackBufferFormat=D3DFMT_X8R8G8B8; d3dpp.BackBufferWidth=800; d3dpp.BackBufferHeight=600; d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwndRaumkarte, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3ddev); d3ddev->CreateVertexBuffer( 4*sizeof(Vertex), D3DUSAGE_WRITEONLY, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &g_pVertexBuffer, NULL ); void *pVertices = NULL; g_pVertexBuffer->Lock( 0, sizeof(g_quadVertices), (void**)&pVertices, 0 ); memcpy( pVertices, g_quadVertices, sizeof(g_quadVertices) ); g_pVertexBuffer->Unlock(); d3ddev->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); d3ddev->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); d3ddev->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); d3ddev->SetRenderState(D3DRS_LIGHTING, FALSE); d3ddev->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO, &backbuffer); d3ddev->SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE ); d3ddev->Clear(0,NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0),1.0f,0); D3DXVECTOR3 vCamera(0.0f,0.0f,-35.0f); D3DXVECTOR3 vLookat(0.0f,0.0f,0.0f); D3DXVECTOR3 vUpVector(0.0f,1.0f,0.0f); D3DXMatrixLookAtLH(&viewMatrix, &vCamera, &vLookat, &vUpVector); d3ddev->SetTransform(D3DTS_VIEW, &viewMatrix); D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 800/600, 0.0f, 100.0f); d3ddev->SetTransform(D3DTS_PROJECTION, &matProj); D3DXMatrixIdentity(&identityMatrix); d3ddev->SetTransform(D3DTS_WORLD,&identityMatrix); hresult= d3ddev->CreateOffscreenPlainSurface(1600,1200,D3DFMT_X8R8G8B8,D3DPOOL_DEFAULT, &Hintergrund, NULL); if (hresult !=D3D_OK) return; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
void render_camera(HWND hDlg1, float &oWorldposx, float &oWorldposy, float &Worldposx, float &Worldposy, float &Spielx, float &Spiely) { D3DXMATRIX movematrix; D3DXVECTOR3 HTemp; D3DXVECTOR3 LTemp; D3DXVECTOR3 PTemp; PTemp=D3DXVECTOR3(Spielx+Worldposx,Spiely+Worldposy,5.0f); HTemp=D3DXVECTOR3(Spielx+Worldposx,Spiely+Worldposy,0.0f); LTemp=D3DXVECTOR3(0.0f,1.0f,0.0f); D3DXMatrixLookAtLH(&viewMatrix, &PTemp, &HTemp, <emp); d3ddev->SetTransform(D3DTS_VIEW, &viewMatrix); D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f); d3ddev->SetTransform(D3DTS_PROJECTION, &matProj); D3DXMatrixIdentity(&identityMatrix); d3ddev->SetTransform(D3DTS_WORLD,&identityMatrix); } |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Korowai
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
case WM_PAINT: { UpdateWindow(hDlg1); hdc=BeginPaint(hDlg1, &ps); RECT smallRect; GetClientRect(GetDlgItem(hDlg1, ID_KARTE),&smallRect); Spielx=Spieler[aktMobil].posx; Spiely=Spieler[aktMobil].posy; d3ddev->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 1.0f, 0); render_frame_center(hDlg1, Worldposx, Worldposy, Bildschirmbreite, Bildschirmhoehe, Spielx, Spiely, oWorldposx, oWorldposy); if (Spieler[aktMobil].Mobilart==0) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[aktMobil].Mobilart==1) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[aktMobil].Mobilart==2) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[aktMobil].Mobilart==3) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } render_ZeichenaktivesMobil(Spielx, Spiely, oWorldposx, oWorldposy, Spieler); for (int x=0;x<4;x++) { if (x!=aktMobil) { if (Spieler[x].Mobilart==0) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[x].Mobilart==1) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[x].Mobilart==2) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[x].Mobilart==3) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } } } for (int x=0;x<4;x++) { if (Gegner[x].Mobilart==0) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Gegner[x].Mobilart==1) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Gegner[x].Mobilart==2) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Gegner[x].Mobilart==3) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } } if (Start==true&&Zentrieren==true) { render_cameracenter(hDlg1, oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely); } else if (Start==false&&Zentrieren==true) { render_cameracenter(hDlg1, oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely); } else if (Start==false&&Zentrieren==false) { render_camera(hDlg1,oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely); } d3ddev->Present(NULL,NULL,NULL,NULL); EndPaint(hDlg1, &ps); ValidateRect(hDlg1, NULL); } break; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
case ID_RECHTS: { Start=false; Zentrieren=false; Worldposx=Worldposx+5.00; oWorldposx=oWorldposx+5.00; InvalidateRect(hDlg1, NULL, TRUE); } break; |
Administrator
Korowai
unregistriert
Administrator
Korowai
unregistriert
Korowai
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
case WM_PAINT: { UpdateWindow(hDlg1); Spielx=Spieler[aktMobil].posx; Spiely=Spieler[aktMobil].posy; d3ddev->Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), 1.0f, 0); render_frame_center(hDlg1, Worldposx, Worldposy, Bildschirmbreite, Bildschirmhoehe, Spielx, Spiely, oWorldposx, oWorldposy); if (Spieler[aktMobil].Mobilart==0) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[aktMobil].Mobilart==1) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[aktMobil].Mobilart==2) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[aktMobil].Mobilart==3) { float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } render_ZeichenaktivesMobil(Spielx, Spiely, oWorldposx, oWorldposy, Spieler); for (int x=0;x<4;x++) { if (x!=aktMobil) { if (Spieler[x].Mobilart==0) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[x].Mobilart==1) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[x].Mobilart==2) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Spieler[x].Mobilart==3) { float Mobilposx, Mobilposy; Mobilposx=Spieler[x].posx; Mobilposy=Spieler[x].posy; render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } } } for (int x=0;x<4;x++) { if (Gegner[x].Mobilart==0) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Gegner[x].Mobilart==1) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Frachter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Gegner[x].Mobilart==2) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Flugwaechter(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } else if (Gegner[x].Mobilart==3) { float Mobilposx, Mobilposy; Mobilposx=Gegner[x].posx; Mobilposy=Gegner[x].posy; render_Jaeger(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); } } if (Start==true&&Zentrieren==true) { render_cameracenter(hDlg1, oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely); } else if (Start==false&&Zentrieren==true) { render_cameracenter(hDlg1, oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely); } else if (Start==false&&Zentrieren==false) { render_camera(hDlg1,oWorldposx, oWorldposy, Worldposx, Worldposy, Spielx, Spiely); } d3ddev->Present(NULL,NULL,NULL,NULL); ValidateRect(hDlg1, NULL); } break; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
case ID_RECHTS: { Start=false; Zentrieren=false; Worldposx=Worldposx+5.00; oWorldposx=oWorldposx+5.00; InvalidateRect(hDlg1, NULL, TRUE); } break; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
case ID_NMOBIL: { Start=false; Zentrieren=true; Worldposx=0.0; Worldposy=0.0; oWorldposx=0.0; oWorldposy=0.0; aktMobil=aktMobil+1; if (aktMobil>3) { aktMobil=0; Spieler[aktMobil].Rundenaktiv=true; } for (int x=0;x<4;x++) { if (x!=aktMobil) { Spieler[x].Rundenaktiv=false; } } InvalidateRect(hDlg1,NULL,TRUE); } break; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
void initD3D(HWND hDlg1, HWND hwndRaumkarte, float &Bildschirmbreite, float &Bildschirmhoehe) { HRESULT hresult; d3d=Direct3DCreate9(D3D_SDK_VERSION); D3DDISPLAYMODE d3ddm; d3d->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm ); D3DPRESENT_PARAMETERS d3dpp; ZeroMemory(&d3dpp, sizeof(d3dpp)); d3dpp.Windowed=TRUE; d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow=hwndRaumkarte; d3dpp.BackBufferFormat = d3ddm.Format; d3dpp.EnableAutoDepthStencil = TRUE; d3dpp.AutoDepthStencilFormat = D3DFMT_D16; d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; d3dpp.BackBufferCount=1; d3dpp.BackBufferFormat=D3DFMT_X8R8G8B8; d3dpp.BackBufferWidth=800; d3dpp.BackBufferHeight=600; d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwndRaumkarte, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3ddev); d3ddev->CreateVertexBuffer( 4*sizeof(Vertex), D3DUSAGE_WRITEONLY, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &g_pVertexBuffer, NULL ); void *pVertices = NULL; g_pVertexBuffer->Lock( 0, sizeof(g_quadVertices), (void**)&pVertices, 0 ); memcpy( pVertices, g_quadVertices, sizeof(g_quadVertices) ); g_pVertexBuffer->Unlock(); d3ddev->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); d3ddev->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); d3ddev->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR); d3ddev->SetRenderState(D3DRS_LIGHTING, FALSE); d3ddev->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO, &backbuffer); d3ddev->SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_DISABLE ); d3ddev->Clear(0,NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0),1.0f,0); D3DXVECTOR3 vCamera(0.0f,0.0f,1.0f); D3DXVECTOR3 vLookat(0.0f,0.0f,0.0f); D3DXVECTOR3 vUpVector(0.0f,1.0f,0.0f); D3DXMatrixLookAtLH(&viewMatrix, &vCamera, &vLookat, &vUpVector); d3ddev->SetTransform(D3DTS_VIEW, &viewMatrix); D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 800/600, -1.0f, 50.0f); d3ddev->SetTransform(D3DTS_PROJECTION, &matProj); D3DXMatrixIdentity(&identityMatrix); d3ddev->SetTransform(D3DTS_WORLD,&identityMatrix); hresult= d3ddev->CreateOffscreenPlainSurface(1600,1200,D3DFMT_X8R8G8B8,D3DPOOL_DEFAULT, &Hintergrund, NULL); if (hresult !=D3D_OK) return; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void render_camera(HWND hDlg1, float &oWorldposx, float &oWorldposy, float &Worldposx, float &Worldposy, float &Spielx, float &Spiely) { D3DXMATRIX movematrix; D3DXVECTOR3 HTemp; D3DXVECTOR3 LTemp; D3DXVECTOR3 PTemp; PTemp=D3DXVECTOR3(Spielx+Worldposx,Spiely+Worldposy,5.0f); HTemp=D3DXVECTOR3(Spielx+Worldposx,Spiely+Worldposy,0.0f); LTemp=D3DXVECTOR3(0.0f,1.0f,0.0f); D3DXMatrixLookAtLH(&viewMatrix, &PTemp, &HTemp, <emp); d3ddev->SetTransform(D3DTS_VIEW, &viewMatrix); D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f); d3ddev->SetTransform(D3DTS_PROJECTION, &matProj); D3DXMatrixIdentity(&identityMatrix); d3ddev->SetTransform(D3DTS_WORLD,&identityMatrix); } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
void render_Schuerfer(HWND hDlg1, float &oWorldposx, float &oWorldposy, float &Mobilposx, float &Mobilposy) { D3DXVECTOR3 Mobilcenter; D3DXVECTOR3 Mobilpos; float Bildschirmx, Bildschirmy; Bildschirmx=Mobilposx; Bildschirmy=Mobilposy; Mobilcenter= D3DXVECTOR3 (20.0f,15.0f,0.0f); Mobilpos= D3DXVECTOR3(Bildschirmx,Bildschirmy,0.0f); d3ddev->BeginScene(); mSprite->Begin(D3DXSPRITE_ALPHABLEND); mSprite->Draw(Schuerfertextur,NULL,&Mobilcenter,&Mobilpos,0xFFFFFFFF); mSprite->SetTransform(&Spritematrix); mSprite->End(); d3ddev->EndScene(); } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
void render_frame_center(HWND hDlg1, float &Worldposx, float &Worldposy, float &Bildschirmbreite, float &Bildschirmhoehe, float &Spielx, float &Spiely, float &oWorldposx, float &oWorldposy) { RECT screenRect; GetClientRect(GetDlgItem(hDlg1, ID_KARTE),&screenRect); RECT drawRect; drawRect.top=Spiely-((screenRect.bottom-screenRect.top)/2); drawRect.left=Spielx-((screenRect.right-screenRect.left)/2); drawRect.right=Spielx+((screenRect.right-screenRect.left)/2); drawRect.bottom=Spiely+((screenRect.bottom-screenRect.top)/2); if (drawRect.bottom>=1200) { drawRect.bottom=1200; drawRect.top=1200-(screenRect.bottom-screenRect.top); }; if (drawRect.right>=1600) { drawRect.right=1600; drawRect.left=1600- (screenRect.right-screenRect.left); }; if (drawRect.top<=0) { drawRect.top=0; drawRect.bottom=0+(screenRect.bottom-screenRect.top); }; if (drawRect.left<=0) { drawRect.left=0; drawRect.right=0+(screenRect.right-screenRect.left); }; d3ddev->BeginScene(); d3ddev->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO, &backbuffer); d3ddev->StretchRect(Hintergrund, &drawRect, backbuffer, NULL, D3DTEXF_NONE); d3ddev->EndScene(); } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
HRESULT InitSprite(HWND hDlg1, float &Bildschirmbreite, float &Bildschirmhoehe) { HRESULT hr; RECT screenRect; GetClientRect(GetDlgItem(hDlg1, ID_KARTE),&screenRect); screenRect.right=screenRect.right*2; screenRect.bottom=screenRect.bottom*2; screenRect.top=screenRect.top*2; screenRect.left=screenRect.left*2; hr= D3DXLoadSurfaceFromFile(Hintergrund, NULL, &screenRect, "Raumkarte.bmp", NULL, D3DX_DEFAULT, 99, NULL); hr= D3DXCreateTextureFromFileEx(d3ddev, "Frachter_400_300 Kopie.png", 40,30, 0, D3DPOOL_DEFAULT, D3DFMT_UNKNOWN,D3DPOOL_DEFAULT,D3DX_DEFAULT,D3DX_DEFAULT, D3DCOLOR_XRGB(255,0,255), NULL,NULL,&Frachtertextur); hr= D3DXCreateTextureFromFileEx(d3ddev, "Schuerfer_400_300.bmp", 40,30, 0, D3DPOOL_DEFAULT, D3DFMT_UNKNOWN,D3DPOOL_DEFAULT,D3DX_DEFAULT,D3DX_DEFAULT, D3DCOLOR_XRGB(255,0,255), NULL,NULL,&Schuerfertextur); hr= D3DXCreateTextureFromFileEx(d3ddev, "Jaeger_400_300.bmp", 40,30, 0, D3DPOOL_DEFAULT, D3DFMT_UNKNOWN,D3DPOOL_DEFAULT,D3DX_DEFAULT,D3DX_DEFAULT, D3DCOLOR_XRGB(255,0,255), NULL,NULL,&Jaegertextur); hr= D3DXCreateTextureFromFileEx(d3ddev, "Flugwaechter_400_300.bmp", 40,30, 0, D3DPOOL_DEFAULT, D3DFMT_UNKNOWN,D3DPOOL_DEFAULT,D3DX_DEFAULT,D3DX_DEFAULT, D3DCOLOR_XRGB(255,0,255), NULL,NULL,&Flugwaechtertextur); hr= D3DXCreateSprite(d3ddev, &mSprite); hr= D3DXCreateSprite(d3ddev, &mMobilsprite); if (FAILED(hr)) return NULL; } |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
C-/C++-Quelltext |
|
1 2 3 4 |
float Mobilposx, Mobilposy; Mobilposx=Spieler[aktMobil].posx; Mobilposy=Spieler[aktMobil].posy; render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Mobilposx, Mobilposy); |
C-/C++-Quelltext |
|
1 |
render_Schuerfer(hDlg1,oWorldposx, oWorldposy, Spieler[aktMobil].posx, Spieler[aktMobil].posy); |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Nox« (18.12.2017, 16:37)
Werbeanzeige