Rom
Гость
|
|
« Ответ #1 : 15-02-2004 13:20 » |
|
Код файла 1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //----------------------------------------------------------------------------- // File: engine3dmodel.h // Desc: Содержит описание класса для работы с 3D моделями. // Входит в состав движка. //-----------------------------------------------------------------------------
#pragma comment (lib, "d3d8.lib") #pragma comment (lib, "d3dx8.lib") #pragma comment (lib, "winmm.lib") #pragma comment (lib, "dxguid.lib")
#include <windows.h> #include <windowsx.h> #include <fstream.h> #include <stdio.h> #include <time.h> #include <d3d8.h> #include <d3dx8.h>
;class c3DModel@@@@@@@@@@@@@@@@@@@@@@@@ НА ЭТУ СТРОКУ УКАЗЫВАЕТ КОМПИЛЯТОР. public: LPDIRECT3DDEVICE8 p_d3d_Device; LPD3DXMESH p_d3dxMesh; LPDIRECT3DVERTEXBUFFER8 p_d3dVertexBuffer; LPDIRECT3DINDEXBUFFER8 p_d3dIndexBuffer;
int iSizeOfVertex;
D3DXMATRIX mat3DModel, matTr, matT;
// Расстояние по каждой оси от центра 3D модели до начала координат. FLOAT MoveX, MoveY, MoveZ; // Масштабирование 3D модели по каждой оси. FLOAT ScaleX, ScaleY, ScaleZ;
CUSTOMVERTEX *p_Vertices; CUSTOMVERTEXPN *p_VerticesPN; CUSTOMVERTEXPN2T *p_VerticesPN2T;
DWORD dwNumMaterials, dwNumBumpMaps, dwNumEnvMaps;
LPD3DXBUFFER p_MaterialBuffer; D3DMATERIAL8 *p_Materials; LPDIRECT3DTEXTURE8 *p_Textures, *p_BumpMapTextures, *p_BumpMaps, *p_EnvMaps;
public: c3DModel(void); int Load3DModelFromFile(char *sName, DWORD dwOptions, LPDIRECT3DDEVICE8 fp_d3d_Device, BOOL bReleaseMatBuf); int Init3DModel(LPDIRECT3DDEVICE8 fp_d3d_Device, BOOL bReleaseMatBuf); void InitBumpMaps(void); int Move3DModel(float x, float y, float z); int Set3DModelPos(float x, float y, float z); int Rotate3DModelX(float x); int Rotate3DModelY(float y); int Rotate3DModelZ(float z); int Scale3DModel(float x, float y, float z); int Transform3DModel(void); int Draw3DModel(BOOL bDrawMat, BOOL bDrawTex); int DrawBump3DModel(BOOL bDrawMat, BOOL bDrawTex, BOOL bDrawBump, BOOL bDrawEnv); int Destroy3DModel(void); }@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Код файла 2. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //----------------------------------------------------------------------------- // File: enginetext.h // Desc: Содержит описание класса для работы с текстом. // Входит в состав движка. //-----------------------------------------------------------------------------
#pragma comment (lib, "d3d8.lib") #pragma comment (lib, "d3dx8.lib") #pragma comment (lib, "winmm.lib") #pragma comment (lib, "dxguid.lib")
#include <windows.h> #include <windowsx.h> #include <fstream.h> #include <stdio.h> #include <time.h> #include <d3d8.h> #include <d3dx8.h> #include "engine3dmodel.h"
;class cText { public: LPDIRECT3DDEVICE8 p_d3d_Device; LPD3DXFONT p_d3dxFont;
D3DCOLOR d3d_Color;
c3DModel Text3D;
HFONT Font;
RECT Rect;
public: cText(void); HRESULT Init_Text(LPDIRECT3DDEVICE8 fp_d3d_Device, HFONT fFont, D3DCOLOR fd3d_Color); int Set_Text_Color(D3DCOLOR fd3d_Color); HRESULT Draw_Text(char *strText, DWORD dwFormat, int x, int y); int Destroy_Text(void); }@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Компилятор пишет error C2011: 'c3DModel' : 'class' type redefinition и указывает на сторку, помеченную выше в файле 1.
|