📄 baiscobj.h
字号:
// baiscobj.h: interface for the baiscobj class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_BAISCOBJ_H__6F90C6A0_F5E4_4482_BA6B_136D5C922B31__INCLUDED_)
#define AFX_BAISCOBJ_H__6F90C6A0_F5E4_4482_BA6B_136D5C922B31__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
struct OBJPOSI //对象的位置结构
{ float x,z; //位置
float h; //深
float size; //大小
int cactus; //树形
};
class baiscobj
{
public:
baiscobj();
virtual ~baiscobj();
public:
//A、地
float g_terrain [MAP_W*MAP_W][3]; //地域数据
GLuint g_index [MAP_W*MAP_W* 2]; //顶点数组
float g_texcoord [MAP_W*MAP_W][2]; //索引数组
void InitTerrain(float h); //载入地域数组
void DrawSand(); //显示随机山势
float GetHeight(float x, float z); //取当前位置高度
//B、漫游
float g_eye [3]; //视点
float g_look[3]; //目标点
float rad_xz; //角度
float g_Angle; //方位角
float g_elev; //仰俯角
BOOL DisplayScene(); //摄像漫游
//C、天、其它
UINT g_cactus[16]; //贴图
BITMAPINFOHEADER g_bit; //
unsigned char *g_imageData; //
void CreateSkyBox(int a,int wi,int he,int le);//显示天
void texture(UINT textur); //设置贴图滤波
void light0(); // 环境光
//D、
void picter(float x,float y,float z); //组合图形
bool LoadT8(char *filename, GLuint &texture); //调8位贴图
void LoadT16(char *filename, GLuint &texture);//调16位帖图
unsigned char* LoadBit(char *filename, BITMAPINFOHEADER *bitmap);
//E、树
// void ShowTree(float x,float z,float h,float s,int cactus);//树
void ShowTree(int i);//
void ShowTree0(float x,float z,float h,float s,int cactus);//普通平面树
//F、显示3D模型
CLoad3DS* m_3ds;
void load3dobj(char* dir,char* cn,int a);
void Scene(int obj,float x,float h,float z,float r,int re,float size);//显示对象
//E、爆炸射击
CExplosion *explosion;
bool isExplosion;
float px,py,pz; // 爆炸位置
void Explosion(float x,float y,float z,int b,float a);// 爆炸初始化
void plosion(); // 爆炸
CInputSystem * inputSys; // 定义鼠标接口,
float rocketX,rocketY,rocketZ; // 子弹位置
int Expl; //子弹距离计数
void fire(); // 射击
//G、碰撞
OBJPOSI objposi[TREESL];//树的位置
void zangan(float x,float z);//碰撞绕行
BOOL iftf(int i); //判断障碍
void settml(int p); //显示障碍位置、大小
bool Hitexamina(float x,float y,float z);// 子弹碰撞检测
};
#endif // !defined(AFX_BAISCOBJ_H__6F90C6A0_F5E4_4482_BA6B_136D5C922B31__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -